第一个小游戏的开发过程,小球跑酷

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 快速开发教程十一)

OPENgl入门过程中遇到的问题

C/C++高级工程师开发“酷跑游戏”!带你领略不一样的跑酷!

[Unity3D]Unity3D游戏开发之跑酷游戏项目解说

Python程序开发之简单小程序实例(11)小游戏-跳动的小球