第一个小游戏的开发过程,小球跑酷
Posted lsy-lsy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一个小游戏的开发过程,小球跑酷相关的知识,希望对你有一定的参考价值。
记录一下今天,自己的第一个小游戏完成了,心情很舒爽。非常非常简单的小游戏,下面梳理一下过程。
首先创建跑道,使用cube,拉长等等。然后创建小球sphere,小球即为玩家(player,积累单词)。再添加障碍物,在分别为其上色。
紧接着给小球添加脚本,让其能够受玩家控制
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.SceneManagement; 5 6 public class Player : MonoBehaviour 7 8 //初始速度 9 public float speed = 10; 10 //初始转弯速度 11 public float turnSpeed = 4; 12 13 // Start is called before the first frame update 14 void Start() 15 16 17 18 19 // Update is called once per frame 20 void Update() 21 22 //按R键重玩,场景重置 23 if (Input.GetKeyDown(KeyCode.R)) 24 SceneManager.LoadScene(0); 25 Time.timeScale = 1; 26 //结束当前方法,防止一直掉下去 27 return; 28 29 30 //获取坐标 31 float x = Input.GetAxis("Horizontal"); 32 //给物体一个变化,即x轴会有一个转弯速度,y轴不变,z轴也有一个速度 33 transform.Translate(x * turnSpeed * Time.deltaTime, 0, speed * Time.deltaTime); 34 35 //判断位置,如果在范围之外,则让它有其他的运转动作 36 if (transform.position.x < -4 || transform.position.x > 4) 37 transform.Translate(0, -10 * Time.deltaTime, 0); 38 39 //如果y轴小于-20,则停止 40 if (transform.position.y < -20) 41 Time.timeScale = 0; 42 43 44 45
给小球添加刚体组件rigidbody,使其与障碍物barrier发生碰撞,也要给障碍物添加触发器trigger,创建barrier脚本
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 5 public class Barrier : MonoBehaviour 6 7 // Start is called before the first frame update 8 void Start() 9 10 11 12 13 private void OnTriggerEnter(Collider other) 14 15 //debug测试是否发生碰撞 16 Debug.Log(other.name + "碰到了我"); 17 //如果和自己碰撞的物体名称是player就停止 18 if(other.name == "Player") 19 Time.timeScale = 0; 20 21 22
此时功能已经基本完成,在创建游戏通关完成UI,游戏开始时隐藏UI,触发是显示UI,创建一个物体将该脚本挂在上面,此物体放在小球跑道上。此物体也是触发器。
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 5 public class Finish : MonoBehaviour 6 7 // Start is called before the first frame update 8 void Start() 9 10 GameObject canvas = GameObject.Find("Canvas"); 11 canvas.transform.Find("Panel").gameObject.SetActive(false); 12 13 14 private void OnTriggerEnter(Collider other) 15 16 GameObject canvas = GameObject.Find("Canvas"); 17 canvas.transform.Find("Panel").gameObject.SetActive(true); 18 19 20
以上是关于第一个小游戏的开发过程,小球跑酷的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D开发小游戏Unity3D零基础一步一步教你制作跑酷类游戏
十分钟学会微信小游戏,攀登不止小游戏制作(IVX 快速开发教程十一)