***小球酷跑编写记录***目录
- 一、游戏场景
- 二、小球设置
- 三、相机跟随及代码添加
- 四、设置wall跟随
- 五、障碍物设置
- 六、游戏效果
首先使用3dObject来创建3个长方形(cube),将其中两个的x长度设置成一样的20,在将剩下的x、y、z长度均为1的长方体放在这两段的正中间,上下对齐,在同一水平。并将名称改为wall,放在同一分组中。
摆放位置如图所示:
设置好位置后,在调整相机的位置,使得我们的视角能够看到这个整体
在将以上步骤设置完成后,我们可以将整体的背景略作改变,通过选中相机来进行背景颜色的修改。(我改成了蓝色)
游戏的主角就是我们控制的小球,那么我们在需要对小球进行设置。首先将其改名为player,在添加上刚体属性,后面在添加上脚本代码,即可让我们来通过控制小球进行游戏。
小球的属性已经设置完毕,我们需要操控小球来进行游戏,那么我们就需要为其添加编写的脚本代码,添加到小球上,使得我们可以通过键盘来操控小球。
代码如下:
在将代码编写完成后,我们将代码拖动到小球上,为其添加脚本
如图所示:
将小球的代码编写完成后,我们还需要添加相机的代码,使得相机能够跟随小球的视角
代码如下:
再将代码拖动到相机后,我们还需要选中相机要跟随的目标,将小球player添加进去,这样相机就能跟随小球。
将创建的上下的两个边框调整到一个分组,为其添加脚本代码,使得能够跟随小球进行移动
代码如下:
通过脚本代码来控制wall跟随小球和相机同步行进
再将player小球主题添加进去,使得对象成为小球
五、障碍物设置在main中创建障碍物cube将其命名为barrier,在使用C#创建barrier的脚本代码,命名为BarrierControl。通过prefab创建出障碍物的预制体,可以随时进行调用。还可以将整体的颜色进行修改。
如图所示:
创建出障碍物的预制体和脚本代码BarrierControl
BarrierControl脚本如下:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class BarrierControl : MonoBehaviour {
public GameObject player;
public GameObject BarrierPre;
public GameObject CurrentBarrier;
public int BarrierInterval = 10;
void Start () {
}
void Update () {
AutCreatBarrier();
}
public void AutCreatBarrier()
{
if(player.transform.position.x>CurrentBarrier.transform.position.x)
{
//生成新的障碍物
float targetX = CurrentBarrier.transform.position.x+BarrierInterval;
float targetY = RandomBarrierPositionY();
Vector3 targetPos = new Vector3(targetX,targetY,0);
GameObject g = Instantiate(BarrierPre,targetPos,Quaternion.identity);
g.transform.localScale = new Vector3(g.transform.localScale.x, RandomBarrierSizeY((int)g.transform.position.y),g.transform.localScale.z);
CurrentBarrier = g;
}
}
public float RandomBarrierSizeY(int y)
{
int yAbs = Mathf.Abs(y);
if(yAbs==0)
{
return 6;
}
else
{
return (3 - yAbs) * 2 - 1;
}
}
public float RandomBarrierPositionY()
{
int r = Random.Range(-3,3);
return r;
}
}
六、游戏效果



