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

威海网站制作团队高安网站建设

威海网站制作团队,高安网站建设,wordpress login_head,西安网站制作优化目录 一、前言 二、开发环境 三、场景搭建 1. 创建项目 2. 创建场景内物体 2.1 创建跑道 2.2 创建玩家 2.3 创建障碍物 2.4 改变跑道和障碍物的颜色 2.4.1 创建材质 2.4.2 给跑道和障碍物更换材质 四、功能脚本实现 1. 创建玩家脚本 2. 相机跟随 3. 胜负的判定 3.1 …目录 一、前言 二、开发环境 三、场景搭建 1. 创建项目 2. 创建场景内物体 2.1 创建跑道 2.2 创建玩家 2.3 创建障碍物 2.4 改变跑道和障碍物的颜色 2.4.1 创建材质 2.4.2 给跑道和障碍物更换材质 四、功能脚本实现 1. 创建玩家脚本 2. 相机跟随 3. 胜负的判定 3.1 游戏失败 3.1.1 碰撞到障碍物 3.1.2  小球掉下跑道 3.1.3  重新开始游戏 3.2 游戏胜利 3.2.1 给空物体添加脚本 五、结束语 一、前言 本案例是初级案例意在引导想使用unity的初级开发者能较快的入门体验unity开发的方便性和简易性能。 游戏中小球会以恒定的速度向前运动。玩家通过控制小球左右移动来避开小球在前进路上的障碍物。如果玩家控制小球一直向前跑一定距离后则认定玩家取得胜利。当玩具在取得胜利前碰到路上的障碍物或者跌落路面游戏失败。 二、开发环境 操作系统Windows Unity 版本2021.3.11f1c2 LTS 三、场景搭建 1. 创建项目 1.1 打开Unity Hub,在Project标签下点击右上角 New project 按钮。打开新建项目对话框。 1.2 在新建项目窗口中选择3D 模板填入项目名称 BallRun选择项目保存的位置取消版本控制选项的对钩点击 Create project 按钮完成项目创建。 2. 创建场景内物体 2.1 创建跑道 在场景中新建一个 Cube立方体重命名为Road并将其长度设定为1000 宽度改为8然后将其位置向前移动480此作为小球的跑到如图。 2.2 创建玩家 新建一个小球Sphere作为玩家重命名为Player并放在道路上调整到合适的位置。小提示按住Ctrl建拖拽可以更好的控制小球的位置 2.3 创建障碍物 新建若干个Cube(立方体)作为障碍物并重命名为Barrier调整障碍物的大小并放到合适的位置。因为要创建多个障碍物为了以后使用方便我们可以把障碍物做成预制体这样我们就可以重复使用这个预制体了。 在Project窗口下新建文件夹并命名为 Prefabs然后把 新建的障碍物Cube直接拖到Prefabs 目录下这样预制体就做好了。 在Hierarchy窗口中选中障碍物Barrier 按住CtrlD, 复制多个物体并调整他们到合适的位置完成小球前进路上障碍物的设置。最终效果如图 2.4 改变跑道和障碍物的颜色 现在我们看到场景里的小球、道路和障碍物都是白色的为了更好的区分我们更改一下道路和障碍物的颜色。更改3D物体的颜色我们可以通关修改3D物体材质的颜色来改变物体的颜色。 选中物体我们发现道路和障碍物使用的默认材质并不能直接修改颜色因此我们需要自己创建跑道和障碍物的材质。 2.4.1 创建材质 在Project窗口下新建文件夹命名为Materials用来保存我们自己创建的材质。在Materials文件夹内右键依次选择 Create - Material将新建的Material命名为Road并调整其颜色为深灰色颜色值为201E1E。用同样的方式创建障碍物的材质命名为Barrier并调整其颜色为浅灰色颜色值A49898。 读者也可以调整为自己喜欢的颜色颜色主要为了更好地区分场景内的物体提高用户游戏体验 2.4.2 给跑道和障碍物更换材质 将我们创建的材质Road直接拖拽到 Hierarchy 窗口的Road物体上可以看到跑道的颜色以已经改变。用同样的方式更换障碍物的材质。 小提示 由于障碍物是使用的预制体因此我们选中预制体直接把Barrier材质拖到预制体上这样场景中的所以物体都会改变。这就是使用预制体的好处。 最终效果如图 好了到此为止我们的场景就算搭建完了下面我们就要进行功能的实现了。 四、功能脚本实现 在Project窗口中新建文件夹Scripts用来保存我们的脚本文件。 1. 创建玩家脚本 和创建材质一样在Scripts文件夹右键依次点击 Create - C# Script并命名为Player。将创建的Player脚本拖拽到 Hierarchy 窗口的Player物体上如图 双击打开Player脚本输入以下代码其中speed 是小球向前跑的速度是一个恒定值默认为10turnspeed 是玩家控制小球时小球左右移动的速度。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Player : MonoBehaviour {public float speed 10f;public float turnSpeed 5f;void Update(){ float turnX Input.GetAxis(Horizontal);transform.Translate(turnX * turnSpeed * Time.deltaTime, 0, speed * Time.deltaTime);} } 运行游戏发现小球开始向前跑当按下键盘上的左右方向键或者A/D键的时候小球会左右移动。 如果感觉速度不合适可以通过 Inspector 面板对速度进行调节如图 但是在运行时我们发现小球会越跑越远慢慢的就超出我们是视线了而我们平时玩的跑酷都是一直在视线内。接下来我们就实现相机的跟随。 2. 相机跟随 其实实现相机的跟随有两种方式一种是利用脚本控制相机的位置使相机和小球一直保持一定的相对位置。另一种则更为简单直接把相机作为小球的子物体这样小球在移动的时候相机也会跟着一起移动。这里我们采用第二种方式。 在Hierarchy窗口中拖到相机Main Camera到小球Player底下。再次运行游戏看下效果相机一直跟随小球运动了。 3. 胜负的判定 当小球碰撞到障碍物或者掉落到跑道之外的时候游戏失败。当小球一直未碰到障碍物一段距离后判定游戏胜利。 为方便管理我们将场景中的障碍物都放到一个空物体下。在Hierarchy窗口右键点击 Create Empty, 创建一个空物体命名为Barriers然后选中所有的障碍物拖动到空物体Barriers下。 3.1 游戏失败 3.1.1 碰撞到障碍物 在Scripts文件夹下新建脚本Barrier.cs文件然后把脚本拖拽到预制体Barrier之上。选中Barrier预制体勾选预制体上Box Collider的Is Trigger 选项。 双击Barrier.cs文件在脚本中输入以下代码 using UnityEngine;public class Barrier : MonoBehaviour {void OnTriggerEnter(Collider other){if (other.name Player){Debug.Log(游戏失败);Time.timeScale 0; // 游戏停止}} }小提示         Time.timeScale表示游戏的运行时间倍率设置为0即表示游戏里的时间停滞1即正常的时间流逝速度2即两倍于正常的时间流逝速度以此类推。 在Hierarchy窗口中选中小球Player,添加Rigid Body 组件。然后保存运行游戏当小球碰到障碍物的时候游戏便会停止。  3.1.2  小球掉下跑道 双击打开Player.cs脚本在Update方法里继续补充小球掉下跑道的逻辑。由于跑道的宽度是8所以跑道的左边缘为-4右边缘是4. 小球超出边缘后直接掉落在掉落一段距离此处设置的是20后判定游戏结束。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Player : MonoBehaviour {public float speed 10f;public float turnSpeed 5f;void Update(){ float turnX Input.GetAxis(Horizontal);transform.Translate(turnX * turnSpeed * Time.deltaTime, 0, speed * Time.deltaTime);// 小球的位置超出跑道的边缘则直接掉落if(transform.position.x-4||transform.position.x4){transform.Translate(0, -10 * Time.deltaTime, 0);}// 下落一定距离之后游戏结束if(transform.position.y-20){Debug.Log(游戏结束);Time.timeScale 0;}} } 保存脚本运行游戏则小球超出边缘后会垂直下落一段距离后游戏停止。 3.1.3  重新开始游戏 当游戏失败结束时应该允许玩家重新开始游戏这里设置键盘上的R键为重置游戏的按键在按R键后即可重新加载当前场景重新开始游戏。 在Player.cs脚本的 Update 方法里继续添加代码。注意这次是添加在前面注意引入命名空间 using UnityEngine.SceneManagement; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement;public class Player : MonoBehaviour {public float speed 10f;public float turnSpeed 5f;void Update(){ // 按键盘上的R键重新开始游戏if(Input.GetKeyDown(KeyCode.R)){SceneManager.LoadScene(0); // 重新加载场景Time.timeScale 1;return;}float turnX Input.GetAxis(Horizontal);transform.Translate(turnX * turnSpeed * Time.deltaTime, 0, speed * Time.deltaTime);// 小球的位置超出跑道的边缘则直接掉落if(transform.position.x-4||transform.position.x4){transform.Translate(0, -10 * Time.deltaTime, 0);}// 下落一定距离之后游戏结束if(transform.position.y-20){Debug.Log(游戏结束);Time.timeScale 0;}} } 3.2 游戏胜利 当小球跑一段距离后我们判定游戏胜利因此我们需要在跑道上建一个空的物体作为小球胜利的终点。这个空的物体和障碍物一样只是它看不见仅仅作为小球胜利的触发器。 我们在跑道上新建一个空物体。在Hierarchy窗口右键-Create Empty。将空物体命名为Victory点击Add Component 按钮添加Box Collider组件调整空物体的大小和位置位置可以自己设定同时勾选空物体Box Collider 上的Is Trigger 复选框使空物体变成触发器。如图 3.2.1 给空物体添加脚本 在Scripts文件夹下新建脚本文件命名为Victory作为小球胜利的逻辑脚本。把Victory脚本挂载到空物体上直接把脚本拖到空物体上即可。双击打开Victory脚本编写胜利逻辑。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Victory: MonoBehaviour {private void OnTriggerEnter(Collider other){if (other.name Player){Debug.Log( 恭喜胜利 );Time.timeScale 0;}} }保存脚本运行游戏。至此这个小游戏的基本代码就完成了。 五、结束语 本案例作为初级游戏案例意在使初级开发者可以快速的上手一款游戏的开发了解Unity开发游戏的便捷培养初级开发者对游戏开发的兴趣。 作为初级开发者案例本案例还有许多不足和可以改进的地方比如可以增加按上键使小球跳跃、增加音乐音效、增加金币、积分更进一步可以做出胜利和失败的UI界面这些都可以留待读者自行添加。 最后希望本案例能对您有所帮助或有所启迪在游戏开发的道路上做出自己喜欢的游戏。
http://www.yayakq.cn/news/3402/

相关文章:

  • discuz做的网站怎么修改龙岩58同城
  • 网站域名自己做郑州 高端网站建设
  • 为网站做一则广告语软件开发流程八个步骤概要分析
  • 长沙品牌网站建设实力强微机做网站的软件
  • php网站建设企业所得税税前扣除凭证管理办法
  • 公司网站建设请示注册个网站多少钱
  • 网站运维服务内容wordpress仿 模板
  • 进不了建设银行网站智慧树网站的章节题做不了
  • 谷歌网站建站wordpress 视频截图
  • 天津网站推广网易企业邮箱格式
  • 建设银行网站怎么修改手机号码公司网站怎么做站外链接
  • 网站公司苏州wordpress瀑布流分页
  • 如何做谷歌网站优化辽宁建设工程信息网为什么打不开
  • 巫山那家做网站淘宝宝贝链接怎么做相关网站
  • 网站设计毕业设计论文珠海做网站专业公司
  • wordpress地区分站个人网站建设知乎
  • 启航做网站怎么样wordpress算前端
  • 网站域名的安全性珠海广告设计与制作公司
  • 公司制作网站多少钱ps做字幕模板下载网站
  • 上海微信网站公司哪家好石家庄校园兼职网站建设
  • 中国建设银行网站的社保板块在哪里申请阿里巴巴网站首页
  • 购物网站建设的原理做一个网站的建设流程
  • 郑州的电子商城网站建设响应式网站模板xd
  • 中国建设银行积分查询网站襄阳网站建设楚翼网络
  • 石景山网站建设公司企业咨询方案
  • 物流企业网站模板下载免费推广渠道有哪些方式
  • 上海华东民航机场建设公司网站门户网站特点
  • 中国建设网站官方网站wordpress链接
  • 渑池县建设局网站网站引导页面制作的四个任务名称
  • 常州网站制作策划网页设计与网站开发素材