您的位置:首页 > 移动开发 > Unity3D

Unity制作2D游戏FlappyBird

2017-08-24 13:23 447 查看


写在前面:

生活就是这样忙忙碌碌,有所期盼的日子真好。感悟一波之后,进入正题。

1.开发前的准备

在Game面板中调节分辨率为9:16

2.通过2D Sprite制作动画,实现物体运动效果

打开Animation视窗可以用快捷键:ctrl+6


地图移动算法

private Transform bg;
private Transform bg1;

//背景图1
private float bgx;
//背景图2
private float bg1x;

private void Start()
{
//初始时,时间静止
Time.timeScale = 0;
bg = GameObject.FindWithTag("bg").transform;
bg1 = GameObject.FindWithTag("bg1").transform;

//记录背景图1的起始位置
bgx = bg.position.x;
//记录背景图2的起始位置
bg1x = bg1.position.x;
}

private void Update()
{
//背景图移动
bg.Translate(Vector3.left*Time.deltaTime);
bg1.Translate(Vector3.left*Time.deltaTime);

//如果背景图2开始移动(x<? : ? 根据自己的项目调整)
if (bg1.position .x < -0.07f)
{
//背景图1的起始位置加上两图之间的距离(背景图1移动到背景图2的位置)
bg.position += (bg1x - bgx) * Vector3.right;
bg1.position += (bg1x - bgx) * Vector3.right;
}
}


写在最后:

这个游戏的难点大概就是地图的移动了,其他的都还蛮简单。不过在开发这个游戏的时候,我遇到了一个BUG,现在还没有解决。就是即使我把障碍物中间的触发器设置成0.01大小,小鸟飞过去,有些时候还是会出现触发两次的现象。注:我在触发事件中有写触发之后状态为false。如有大牛帮忙解决,将不胜感激。

如果需要源码或素材的同学,可以私信wo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity 2d 游戏