当前位置: 首页 > 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;正以前所未有的速度改变着…...

IFC模型文本的含义

以下代码是一个STEP文件&#xff08;ISO-10303-21标准&#xff09;&#xff0c;它是一种用于表示产品数据的国际标准。STEP文件通常用于在不同的计算机辅助设计&#xff08;CAD&#xff09;系统之间交换数据。下面是对这段代码的逐行解释&#xff1a; HEADER部分&#xff1a; …...

构建高效评奖系统:SpringBoot在教育领域的应用

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了学生评奖评优管理系统的开发全过程。通过分析学生评奖评优管理系统管理的不足&#xff0c;创建了一个计算机管理学生评奖评优管理系统的方案。文章介绍了学生评奖…...

「二叉树进阶题解:构建、遍历与结构转化全解析」

文章目录 根据二叉树创建字符串思路代码 二叉树的层序遍历思路代码 二叉树的最近公共祖先思路代码 二叉搜索树与双向链表思路代码 从前序与中序遍历序列构造二叉树思路代码 总结 根据二叉树创建字符串 题目&#xff1a; 样例&#xff1a; 可以看见&#xff0c;唯一特殊的就…...

在使用代理IP时,需要注意以下几点:

1. 代理IP的质量和稳定性直接影响爬虫的效果。因此&#xff0c;我们需要定期更新代理IP列表&#xff0c;并筛选出可用的代理IP。 2. 有些代理IP可能存在被目标网站封禁的风险。因此&#xff0c;我们需要合理使用代理IP&#xff0c;避免过度频繁地访问目标网站。 3. 在使用代…...

深入理解Java基础概念的高级应用(1/5)

目录 1. Java内存模型&#xff1a;堆、栈与方法区 示例代码&#xff1a;对象存储位置 2. 类加载器的工作原理 示例代码&#xff1a;自定义类加载器 3. JVM如何执行字节码 字节码指令示例 4. Java基础数据类型的存储与操作 自动装箱与拆箱 示例代码&#xff1a;基础类型…...

高可用HA软件

高可用HA&#xff08;High Availability&#xff09;软件在分布式系统架构设计中至关重要&#xff0c;它们能够减少系统停机时间&#xff0c;确保应用程序持久、不间断地提供服务。以下是四款常用的高可用HA软件介绍&#xff1a; Keepalived Keepalived起初是为LVS&#xff08;…...

《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析

本文是将文章《近似线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析&#xff0c;便于初学者更好的理解。 公式 9-41 解释&#xff1a; L ( w , b , ξ , α , μ ) 1 2 ∥ w ∥ 2 C ∑ i 1 N ξ i − ∑ i 1 N α i ( y i ( w T x i b ) − ( 1 − ξ …...

9.指针和字符串string类型

指针和字符串string类型 1.指针2.字符串string类型 1.指针 C完全兼容C语言指针&#xff0c;C多出一个this指针 交换两数 #include <iostream>using namespace std;void swap(int *a,int *b){int temp;temp *a;*a *b;*b temp; }int main() {//交换前int a 50;int b …...

八,Linux基础环境搭建(CentOS7)- 安装Mysql和Hive

Linux基础环境搭建&#xff08;CentOS7&#xff09;- 安装Mysql和Hive 大家注意以下的环境搭建版本号&#xff0c;如果版本不匹配有可能出现问题&#xff01; 一、Mysql下载及安装 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;属于 Orac…...

海量数据面试题

⭐️前言⭐️ 本篇文章主要针对在面试时可能涉及到的海量数据的面试题&#xff0c;该类型面试题常常考虑通过位图、布隆过滤器或者哈希的方式来解决。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f349;博主将持续更新学习记录收获&#xff0c;友友们有任何…...

srcache缓存wordpress/网站站点查询

点击上方“Java基基”&#xff0c;选择“设为星标”做积极的人&#xff0c;而不是积极废人&#xff01;每天 14:00 更新文章&#xff0c;每天掉亿点点头发...源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框…...

数字营销1+x网站/厦门seo百度快照优化

小记 1.找出所有各位数字之和为 15 的三位数, 并统计这样的三位数的个数 提示&#xff1a;设计一函数&#xff0c;判断一个三位数的各位数字之和是否为15&#xff0c;如果是&#xff0c;则返回1&#xff0c;否则返回 0 int main() {int i, j 0;for (i 100; i < 1000; i){s…...

各大网站logo图标/中国网络营销公司

计算机概念 很早期的计算机是一个庞然大物&#xff0c;可能都有几层楼那么高&#xff0c;随着技术的发展、更新&#xff0c;体型就变得越来越小&#xff0c;也越来越普及。 这个时候计算机与计算机之间就需要数据交流和信息的共享&#xff0c;早期是美国那边主要用于大学之间或…...

某企业网站建设方案2000字/上海外包seo

本教程讲解PHP处理会话函数session和cookie总结 PHP处理会话函数包括&#xff1a;session_start、session_register、session_is_registered、session_unregister、Session_destroy等等。相信大家在学习php语言的时候多多少少都会对php的会话功能有所了解&#xff0c;下面小编给…...

小豪自助建站/茂名seo顾问服务

备份与恢复数据库的存储过程这种方式感觉实现起来也不错&#xff0c;我是使用这种方式来完成数据库备份还原的功能的。 需要指出下面这些存储过程是在网上搜索到的。谢谢代码的提供者。在此转载 利用T-SQL语句,实现数据库的备份与还原的功能 体现了SQL Server中的…...

俄罗斯做牙网站/网站广告调词平台

ArrayList1. 可变数组实现&#xff0c;1.5倍扩容2. 非线程安全3. 采用了Fail-Fast机制&#xff0c;面对并发的修改时&#xff0c;迭代器很快就会完全失败&#xff0c;而不是冒着在将来某个不确定时间发生任意不确定行为的风险LinkedList1. 双向循环链表实现2. 非线程安全3. 元素…...