当前位置: 首页 > news >正文

unity游戏开发之赛车游戏

在这个 unity 2d 赛车游戏教程中,我将构建一款移动超休闲赛车游戏。

这将是一个简单的 unity 2d 汽车游戏。所以这将需要有一个可以无限滚动的背景。

我们需要避开一些障碍。一些评分系统。

以及一种使用我们的手机加速度计控制我们的汽车的方法。然后,我们将实施 Unity 广告,通过应用商店的游戏获利。

以下是我们将要构建的游戏的基本模型设计。

Unity 2D 赛车游戏模型

Unity 2D 赛车游戏模型

所以我们有一些路障标志。我们需要避免的坑洼。一条我们行驶而不能离开的路。

我们的黄色汽车将成为我们玩家的汽车,它将躲避各种障碍物。

我们有一些头顶云,这使得看到物体更具挑战性。

让我们从一个空白的新 Unity 项目开始。

创建 unity2d 赛车游戏项目

从 2D Unity 项目开始。

新的 Unity Racing 游戏项目

新的 Unity Racing 游戏项目

让我们首先设置我们的场景以适应我们的移动屏幕。单击 Game (游戏)。

Unity 移动宽高比

我们不需要添加适合移动设备的纵横比。因此,请继续添加一个新的纵横比,即 9:16 的纵向。

为此,请单击 Free Aspect 获得这样的下拉菜单。

单击底部的加号以添加纵横比。

接下来,我们希望将游戏的构建设置配置为纵向模式。因此,请前往构建设置。

然后单击播放器设置,以便我们可以更改为纵向。

将下面的选项更改为 portrait(纵向)。

这应该使您的项目准备好构建到移动设备。现在让我们开始让我们的游戏开始工作的第一部分。我们需要创建一个背景。

我们的 Unity 赛车游戏的滚动背景

首先创建一个 3D 四边形,我们可以在场景中使用它来为背景添加纹理。

将其重命名为 Background 并调整其大小以适应视口或场景大小,如下所示。

Unity 2D 赛车游戏教程背景

Unity 2D 赛车游戏教程背景

接下来,获取您的背景 sprite 并将其拖动到四边形上。得到这样的东西。

现在,我们想要添加一个光源来照亮我们的场景,因此在层次结构中右键单击,然后单击并创建一个定向光源。

完成后,您应该让您的背景像这样亮起。

Unity 2D 赛车游戏教程 - Light for Road

Unity 2D 赛车游戏教程 – Light for Road

完成此操作后,我们需要调整一些设置,首先,我们需要将 sprite 更改为重复的 sprite。

为此,请转到您的项目选项卡,然后单击 road.png 文件。

Unity 2D 赛车游戏 - Sprite 资源

然后在右侧确保更改下面屏幕截图中的设置,然后单击 使用 完成后。

Unity 2D 赛车游戏重复背景

太好了,现在我们开始了。我们现在只需要创建一个脚本来控制我们的背景滚动。

我们将向脚本添加一些额外的选项,以允许我们滚动其他项目。

继续创建一个名为 scripts 的新文件夹。

Unity 2D Racing Game Scripts 文件夹

完成后,再次右键单击并创建一个名为 ScrollingBackground.cs 的新 c# 脚本。

Unity 2D 赛车游戏滚动背景脚本

我们的脚本将如下所示。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ScrollingBackground : MonoBehaviour
{Renderer rend;public float scrollSpeed = 10.5f;public bool xAxis;// Start is called before the first frame updatevoid Start(){rend = GetComponent<Renderer>();}// Update is called once per framevoid Update(){float offset = Time.time * scrollSpeed;if (!xAxis){rend.material.SetTextureOffset("_MainTex", new Vector2(0, offset));} else{rend.material.SetTextureOffset("_MainTex", new Vector2(offset,0));}}
}

首先,我们声明一个渲染器,它将允许我们访问我们的 Quads 材质。然后我们设置一个 scrollSpeed 并添加一个 xAxis 布尔值。

这样我们就可以控制我们将滚动的方向。在 start 方法中,我们将获取 renderer 组件并将其分配给 rend。

然后最后在我们的 update 方法中,我们将计算我们的偏移量,这需要我们的时间并将其乘以我们的滚动速度。然后,我们检查我们正在滚动的轴,并在该轴上应用纹理偏移。

准备好脚本后,请继续将其拖放到 Background quad 上,如下所示。

Unity Racing 游戏背景脚本

我已将滚动速度设置为 1 以使其具有合理的滚动速度。如果你做对了所有事情,你应该最终得到这个。

                                          

使用与滚动背景类似的概念添加云

所以让我们快速作为另一个简单的效果。让我们添加滚动云。因此,再次向场景添加新的四边形。

叫它云。然后继续将 clouds.png 拖放到四边形上,使其如下所示。

如果您的云看起来不是这样的,您可能需要调整您的云材质。前往 materials 文件夹。

然后继续选择您的云材质。

在右侧,您需要选择渲染模式淡化,如下所示。

返回一个文件夹并选择您的云,并确保您重复选择并单击应用。

然后,只需将 ScrollingBackground 脚本拖到四边形上,并选中 xAxis 复选框。使用我在下面使用的设置。

Unity 2D 赛车游戏教程 滚动云

如果你做对了所有事情,你最终会得到这个。

                          

太好了,接下来我们需要为我们的游戏创建 car 控制器。

为我们的 Unity 2D 游戏创建汽车控制器

我们要做的第一件事是将我们的汽车带入我们的场景。因此,转到 car.png 文件并将其拖动到层次结构中。

调整其大小以适应游戏,如下所示。

包含汽车和云的 Unity 2D 赛车游戏教程

排序图层的重要性

在我们尝试控制播放器之前,让我们修复所有的排序层。为此,请单击层次结构中的 car 对象。

在右侧,您要查找此选项。

单击下拉列表,然后单击 Add sorting layer。

创建这些排序图层,然后像这样通过上下拖动它们来重新排列它们。

完成后,我们想要分配它们,因此再次单击您的汽车并将您的排序图层更改为此

Unity 2D 赛车游戏教程排序图层

Unity 2d Car 控制器脚本

要开始使用我们的脚本,您需要将 Rigidbody2D 添加到您的汽车中。为此,请单击层次结构中的汽车。

然后在右侧单击 add component。然后搜索 rigidbody2d 并添加它。

接下来,我们需要确保 rigidbody2d 是一个运动学体。因此,在右侧,请确保您的设置如下所示。

Unity 2D 汽车控制器 Kinematic Body

Unity 2D 汽车控制器 Kinematic Body

太好了,现在我们可以创建我们的 car controller 脚本了。为此,请进入您的 scripts 文件夹,然后右键单击并创建一个名为 PlayerController 的 c# 脚本。打开 cs 文件并将其放入其中。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerController : MonoBehaviour
{private Rigidbody2D rb;public float moveSpeed = 1.0f;private float direction;// Start is called before the first frame updatevoid Start(){rb = GetComponent<Rigidbody2D>();}// Update is called once per framevoid Update(){direction = Input.GetAxisRaw("Horizontal");}private void FixedUpdate(){rb.velocity = Vector2.zero;rb.velocity = new Vector2(direction * Time.fixedTime * moveSpeed, 0);}
}

所以这是脚本的工作原理。首先,我们将 rigidbody2d 声明为 rb。然后我们声明 movespeed 和 direction。

这些将控制我们前进的方向和速度。在 start 方法中,我们初始化了 rigidbody2d 组件。

然后,在我们的 update 方法中,我们在水平轴上使用 GetAxisRaw 方法获取方向。

这也将使我们能够使用移动设备的传感器来控制我们的汽车。然后在 FixedUpdate 方法中,我们将速度归零,这样我们就不会有加速度。

最后,我们使用输入中的 fixedTime、moveSpeed 和 direction 在 x 轴上应用速度。

最后,将其拖到您的汽车上并使用我的设置,如下所示。

Unity 2D 赛车游戏教程 Car Controller Script

如果一切都正确完成,您现在应该能够点击播放并结束它。如果您按左右箭头键,您应该能够移动汽车。

Unity 2D 赛车游戏汽车控制器示例

接下来,让我们添加一个基本的 UI 菜单,我们可以使用它来玩游戏。

Unity 2D 赛车游戏,创建菜单

为了为我们的游戏创建菜单,我们首先需要创建一个新场景。所以去文件,然后点击新场景。

Unity 2D 赛车游戏教程菜单系统

如果在 Mac 上,请按 ctrl+s 或 cmd+s 并将其保存为 菜单.

Unity 2D Car 游戏教程 - 菜单系统

因此,我们将创建一个非常简单的菜单,如下所示。

为此,首先,我们要引入一个画布。因此,在您的层次结构中,右键单击并创建一个画布。

现在,我们的画布不会是合适的尺寸,目前您可能会看到类似这样的东西。

我们的画布没有正确调整为相机的大小,因此要解决此问题,我们想进行一些更改。因此,单击左侧的画布。

然后在右侧进行以下更改。

确保将场景的主摄像机拖动到渲染摄像机插槽中。

现在让我们添加一个按钮,在左侧右键单击画布,然后单击 create 按钮。

现在你应该有这样的东西。

单击文本,然后继续更改右侧按钮的文本。

现在为了装饰,我把汽车和我们的道路背景拖进去,如下所示。

为了得到这个。

太好了,现在我们需要一种方法来管理我们的 UI。因此,为此,我们将创建一个 UIManager 脚本。所以去你的 scripts 文件夹。

自己创建一个 UIManager c# 脚本。

因此,在 Visual Studio 中打开它,并将此代码粘贴到其中。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;public class UIManager : MonoBehaviour
{public void StartGame(){SceneManager.LoadScene("Main");}
}

所以很简单,重要的是你不要忘记引入 UnityEngine.SceneManagement。

完成后,我们创建一个公共方法 StartGame,然后在其中我们只需加载我们的主场景。

完成此操作后,只需将其拖放到画布游戏对象上,如下所示。

接下来,我们需要将按钮附加到 StartGame 函数。因此,要执行此操作,请单击层次结构中的 Button。

在 Inspector 的右侧,我们现在需要附加一个游戏对象。因此,请将您的画布拖放到您的点击槽中。

完成后,单击 无功能 下拉列表。转到 UI 管理器并单击 start game 方法。

现在继续点击 unity 播放/运行按钮。那么你应该有这个。

Unity 2D 赛车游戏菜单示例

这就是我们现在需要的菜单和 UI 的全部内容。接下来,我们需要继续创建我们的障碍。

Unity 2d 赛车游戏:生成对象和障碍物

您现在要返回并确保打开主场景。所以到这里双击。

Unity Racing 游戏主场景

让我们把坑洼带入有危险的地方。因此,将坑洼拖到场景中,确保将其大小缩小以适应游戏,就像这样。

我们现在要做的是添加一个 rigidbody2d 和一个碰撞器。为此,请添加 rigidbody2d 和碰撞器,如下所示。确保您也具有相同的设置。

Unity 2D Car Game 障碍物设置

现在您已经有了这个,我们需要一种方法来移动道路上的坑洼,使其与我们的背景滚动速度相匹配。

因此,为了简单起见,我们现在将创建一个 Hazard.cs 脚本。继续将其添加到 scripts 文件夹,并在 Visual Studio 中打开它。

所以现在我们要保持非常简单。我们将以我们可以设置的固定速度在 x 轴上移动它。

这是我们的脚本。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Hazard : MonoBehaviour
{public float moveSpeed = 10f;private Rigidbody2D rb;// Start is called before the first frame updatevoid Start(){rb = GetComponent<Rigidbody2D>();}// Update is called once per framevoid FixedUpdate(){rb.velocity = Vector2.zero;rb.velocity = new Vector2(0, moveSpeed * Time.fixedDeltaTime * -1);}
}

所以又很简单。我们有一个移动速度,刚体。在 start 中,我们初始化我们的刚体。

Fixed Update 将我们的速度归零,然后将我们的 movespeed 与我们的 time.fixedTime 相乘,并将其乘以 -1。继续将其连接到您的坑洼并添加此 moveSpeed。

所以现在你应该有这样的东西。

Unity 2D 赛车游戏重启游戏云和烟雾

太好了,所以现在我们需要做的就是为我们的汽车添加一个碰撞器,以便我们可以检测碰撞。因此,要执行此操作,请单击左侧的汽车并添加一个 2d 盒形碰撞器。

现在,我们需要处理碰撞,在 Visual Studio 中再次打开 CharacterController 脚本,并添加以下代码。

private void OnTriggerEnter2D(Collider2D collision){Time.timeScale = 0;Destroy(gameObject);}

Time.timeScale 0 将暂停我们的游戏,而 Destroy 将杀死我们的玩家。OnTriggerEnter2D 将检测我们何时发生碰撞并在其中运行代码。

所以现在一切都很好,但是我们如何重新开始我们的游戏。为此,我们将再次添加一些 UI,并使用 UIManager 重新加载我们的场景。

因此,首先让我们添加一个由摄像机渲染的画布,就像我们之前学习的那样,并添加一个按钮。像下面这样设置你的。

你现在应该得到这样的东西。

Unity 2D 赛车游戏重启游戏

Unity 2D 赛车游戏重启游戏

将您的 Canvas 重命名为 RestartMenu,然后通过取消选中此框在右侧禁用它。

Unity 2D 赛车游戏教程 - 重启菜单处于非活动状态

在我们的 CharacterController 脚本中,我们想要添加以下代码。

public Canvas RestartMenu;

保存它。单击左侧的汽车,然后将重新启动菜单拖到插槽中,如下所示。

Unity 2D 赛车游戏教程 - 禁用重启菜单

现在,在我们的 CharacterController 的 OnTrigger 函数中添加这个。

  private void OnTriggerEnter2D(Collider2D collision){Time.timeScale = 0;RestartMenu.gameObject.SetActive(true);Destroy(gameObject);}

如果您玩游戏并且玩家死亡,您现在应该会弹出菜单。

因此,在我们的 UIManager 脚本中,我们已经有一个将启动游戏的函数,因此我们可以简单地将 UIManager 脚本拖放到我们的 RestartMenu 对象上,就像这样。

在你的 UIManager 中,你只需要将此代码添加到 StartGame 函数中,即可重置我们的时间刻度。

Time.timeScale = 1;

和以前一样,单击左侧的重新启动按钮并附加 StartGame 函数。

确保将 RestartMenu 拖到插槽中,否则它将不起作用。

太好了,您现在应该有一个正常运行的重启菜单。

所以这几乎总结了如何添加障碍物并杀死玩家。您现在可以轻松地重新创建更多障碍。

现在,我们将研究如何实施观看广告以实现货币化。

在我们的游戏中实施 Unity Ads

为此,让我们在 RestartMenu 中添加一个基本按钮,该按钮将包含文本观看广告。因此,您的层次结构应如下所示。

Unity 2D 赛车游戏教程 - 观看广告菜单设置

Unity 2D 赛车游戏教程 – 观看广告菜单设置

您现在想要打开 Unity Asset Store 并搜索 unity 货币化。

Unity 2D 赛车游戏教程 - Unity 广告变现

下载并安装此 Asset Pack。

从这里添加 Unity 的 Video Rewards 广告非常容易。这是他们在网站上提供的代码,运行良好。

创建名为 RewardedAdsButton 的脚本。将此代码添加到此脚本中,并将此脚本拖放到我们的 Watch Ad 按钮上。

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Advertisements;[RequireComponent (typeof (Button))]
public class RewardedAdsButton : MonoBehaviour, IUnityAdsListener {#if UNITY_IOSprivate string gameId = "1486551";#elif UNITY_ANDROIDprivate string gameId = "1486550";#endifButton myButton;public string myPlacementId = "rewardedVideo";void Start () {   myButton = GetComponent <Button> ();// Set interactivity to be dependent on the Placement’s status:myButton.interactable = Advertisement.IsReady (myPlacementId); // Map the ShowRewardedVideo function to the button’s click listener:if (myButton) myButton.onClick.AddListener (ShowRewardedVideo);// Initialize the Ads listener and service:Advertisement.AddListener (this);Advertisement.Initialize (gameId, true);}// Implement a function for showing a rewarded video ad:void ShowRewardedVideo () {Advertisement.Show (myPlacementId);}// Implement IUnityAdsListener interface methods:public void OnUnityAdsReady (string placementId) {// If the ready Placement is rewarded, activate the button: if (placementId == myPlacementId) {        myButton.interactable = true;}}public void OnUnityAdsDidFinish (string placementId, ShowResult showResult) {// Define conditional logic for each ad completion status:if (showResult == ShowResult.Finished) {// Reward the user for watching the ad to completion.} else if (showResult == ShowResult.Skipped) {// Do not reward the user for skipping the ad.} else if (showResult == ShowResult.Failed) {Debug.LogWarning (“The ad did not finish due to an error.”);}}}

所以,让我试着解释一下这里发生了什么。我们有预处理器块,它将决定我们将用于 Android 和 IOS 的 unity 广告 ID。

然后,我们有一个 button 变量来保存我们的 watch ad 按钮。然后,该按钮将准备就绪,并在广告系统初始化后可供点击。

然后,我们向按钮添加一个点击侦听器,该按钮将触发 showrewardedvideo 函数,该函数仅显示广告。

OnUnityAdsReady 将检查广告系统何时准备好启用我们的按钮。OnUnityAdsDidFinish 有几个块,其中一个已经完成,如果您想奖励您的玩家,这就是您可以这样做的地方。

跳过和失败,你不会奖励他们。这基本上就是展示广告所需的代码。如果您正确地执行此操作,则当您单击“观看广告”时,将最终看到此消息。

Unity 2D 赛车游戏教程 - Unity Ads 示例

就是这样,这就是您可以使用货币化和 UI 菜单从头开始实现 Unity 2D 赛车游戏的方法。

一些常见问题

如何制作赛车游戏?

您可以使用 Unity 游戏引擎轻松创建赛车游戏。尤其是 2d 赛车游戏。您可以使用在 inkscape/aseprite 中制作的一些图形并使用少量代码将游戏组合在一起来轻松制作。

如何制作无限滚动背景?

通常,要在游戏中制作无限滚动背景,您需要使用具有重复背景的纹理偏移。

如何制作 unity 2d 游戏?

您可以制作带有一些像素艺术的 Unity 2D 游戏,然后使用 Unity 动画系统和 c# 脚本轻松构建基本的 2D 游戏。

如何制作一款超棒的赛车游戏?

你能为你的赛车游戏做的最好的事情就是有一个引人入胜的游戏叙事。还可以添加特殊效果,例如烟雾、火焰和您通常会在赛车中看到的其他效果。这只会让您的赛车游戏焕然一新。

如何创建飙车游戏?

如果您为移动设备构建此游戏,这将类似于在横向模式下运行的无限跑步者机制。因此,您只需在游戏引擎中以横向模式创建一个场景,并使用输入将物理效果应用于各种汽车。

本文章来源于Unity 2D 赛车游戏教程

相关文章:

unity游戏开发之赛车游戏

在这个 unity 2d 赛车游戏教程中&#xff0c;我将构建一款移动超休闲赛车游戏。 这将是一个简单的 unity 2d 汽车游戏。所以这将需要有一个可以无限滚动的背景。 我们需要避开一些障碍。一些评分系统。 以及一种使用我们的手机加速度计控制我们的汽车的方法。然后&#xff0c;我…...

解决milvus migration 迁移数据到出现数据丢失问题

在迁移数据的时候发现数据丢失 问题是数据在批量迁移的过程中&#xff0c;这个错误会被忽略掉 分析下来是因为buuferSize 设置的是500条数据&#xff0c;但是迁移工具对一次迁移的数据是是有大小限制的&#xff0c;如果500条数据的总大小大于4194304&#xff0c;就会导致数据…...

Python Flask 数据库开发

Python Flask 数据库开发 引言环境配置创建 Flask 应用&#xff0c;连接数据库定义路由定义模型创建表创建 API 数据库直接操作启动 Flask 应用app.py 示例运行 Flask访问应用 展望 引言 在现代 web 开发中&#xff0c;Python 的 Flask 框架因其轻量和灵活性受到广泛欢迎。结合…...

深度学习(七)深度强化学习:融合创新的智能之路(7/10)

一、深度强化学习的崛起 深度强化学习在人工智能领域的重要地位 深度强化学习作为一种融合了深度学习和强化学习的新技术&#xff0c;在人工智能领域占据着至关重要的地位。它结合了深度学习强大的感知能力和强化学习优秀的决策能力&#xff0c;能够处理复杂的任务和环境。例如…...

mac电脑通过 npm 安装 @vue/cli脚手架超时问题;

npm 安装 vue/cli遇到的问题步骤 一、安装 Homebrew 如果你还没有安装 Homebrew&#xff0c;首先需要安装它。Homebrew 是 macOS 上的一款包管理工具&#xff0c;它允许你通过简单的命令行指令安装、更新和卸载软件包。&#xff1b; 1, 打开终端&#xff08;Terminal&#xf…...

【52 机器学习 | 基于KNN近邻和随机森林模型对用户转化进行分析与预测】

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. Pandas数据处理2.1 读取数据2.2 查看数据信息2.3 字段说明2.4 删除重复值2.5 删除空值 &#x1f3f3;️‍&#x1f308; 3. 数据分析-特征分析3.1 年龄及转化率分析3.2 各营销渠道人数及…...

【Linux】Zookeeper 部署

Zookeeper 搭建方式 单机模式&#xff1a;Zookeeper只运行在一台服务器上&#xff0c;适合测试环境伪集群模式&#xff1a;就是在一台物理机上运行多个Zookeeper 实例&#xff1b;集群模式&#xff1a;Zookeeper运行于一个集群上&#xff0c;适合生产环境&#xff0c;这个计算…...

配置mysql 主主模式 GTID

文章目录 一、前提二、修改my.cnf主1 10.255.131.9主2 10.255.131.10 三、配置主主3.1 配置主 10.255.131.93.2 配置从 10.255.131.103.3 配置主 10.255.131.103.4 配置从 10.255.131.9 四、验证五、同步问题排查以及恢复5.1 查看同步状态5.2 查看同步是否数据一致性&#xff0…...

推荐一款多显示器屏幕亮度调节工具:Twinkle Tray

Twinkle Tray中文版使您可以轻松管理多台显示器的亮度级别。 尽管 Windows 10 能够调节大多数显示器的背光&#xff0c;但它通常不支持外部显示器。 Windows 还缺乏管理多台显示器的亮度的任何功能。 该应用程序将一个新图标插入系统托盘&#xff0c;您可以在其中单击以立即访问…...

第十一章 Shiro会话管理和加密

学习目标 11.1 会话管理11.1.1 会话相关API一、获取会话二、会话属性管理三、会话信息获取四、会话控制五、会话监听六、会话DAO七、会话验证 11.2 缓存一、缓存接口二、内置缓存实现三、配置缓存四、使用缓存五、缓存清理六、注意事项 前面两章我们已经掌握了Shiro四大基石的认…...

DDR4单个DQ仿真实战(一)

目录 引言1、新建Workspace2、导入brd文件3、在SiPro中打开Layout&#xff1a;查看并编辑叠层4、PCB剪裁&#xff08;可选&#xff09;5、创建SiPro6、创建分析模型7、查看分析结果8、创建原理图9、系统行为级仿真 引言 DDR4仿真将按照以下几个步骤进行&#xff1a; 新建Work…...

Android Studio插件版本与Gradle 版本对应关系

一、背景 Android Studio 构建系统以 Gradle 为基础&#xff0c;并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。 虽然 Android 插件通常会与 Android Studio 的更新步调保持一致&#xff0c;但插件&#xff08;以及 Gradle 系统的其余部分&#xff09;可…...

Uni-App-01

HBuilder安装卸载 安装 官网地址&#xff1a;https://www.dcloud.io/hbuilderx.html 下载HBuilder最新版 解压到安装目录&#xff0c;路径中不要有中文和空格 在桌面上增加快捷方式 卸载 执行reset.bat 删除HBuilder文件夹&#xff08;如果提示文件被占用&#xff0…...

Java版本鸿鹄工程项目管理系统源码概述

项目背景 随着企业规模的扩大和业务的复杂化&#xff0c;传统的工程项目管理方式已经无法满足高效、准确、实时的管理需求。为了提高工程管理效率、优化资源配置、降低风险并控制成本&#xff0c;企业决定通过数字化转型&#xff0c;构建一个基于Spring Cloud、Spring Boot、M…...

基于echarts、php、Mysql开发的数据可视化大屏

大屏效果展示 管理员进入数据可视化页面将看到数据可视化大屏。大屏内容包括两个条形图&#xff0c;用于统计当前网站所有用户的MBTI 16型人格分布&#xff1b;玫瑰图&#xff0c;用于展示当前网站用户MBTI四个维度&#xff0c;八个字母的占比&#xff1b;折线图&#xff0c;用…...

Me-and-My-Girlfriend-1

Me-and-My-Girlfriend-1 解题 信息收集 nmap扫描存活主机 我的虚拟机为131 所以发现130为目标靶机。 查看网站&#xff0c;找到可利用点 使用浏览器查看&#xff0c;使用xff伪造本地用户。 注册用户cat&#xff0c;观察url有url_id,改为5&#xff0c;发现alice用户。 将…...

R语言实现GWAS meta分析(1)

1、基于数据集的Meta分析 datafilenamec("data1.txt","data2.txt"), setwd(workdir) library(Metalgwas) a1 name1c() for(i in datafilename){ assign(paste("file",a,sep""),data.table::fread(paste(getwd(),"/","…...

Kafka-代码示例

一、构建开发环境 File > New > Project 选择一个最简单的模板 项目和坐标命名 配置maven路径 添加maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --><dependency><groupId>org.apache.kaf…...

LLVM - 编译器前端-llvm 基本块、指令、函数 的关系

一:基础概念: 在 LLVM 中,基本块、指令和函数是构建中间表示(IR)的核心概念,它们之间有着紧密的关系,首先了解下基本概念。 1. 基本块(Basic Block) 定义:基本块是一个不包含任何跳转指令的线性代码段,执行顺序是从头到尾。每个基本块至少有一个入口和一个出口。特…...

探索人工智能在自然语言处理中的应用

探索人工智能在自然语言处理中的应用 前言1. 机器翻译2. 情感分析3. 智能客服4. 文本生成未来展望 结语 前言 在信息爆炸的时代&#xff0c;自然语言处理&#xff08;NLP&#xff09;作为人工智能&#xff08;AI&#xff09;的一个重要分支&#xff0c;正以前所未有的速度改变着…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...