首先要为场景添加碰撞器,做碰撞障碍,这里需要添加碰撞器的有天空顶(防止飞出),地面,水管,两条水管中空间,小鸟。这里要注意几个事项是:两条水管中间的碰撞要把IsTrigger设为true,来作为碰撞检测而不是障碍。小鸟最好使用球形碰撞器,调准好其大小精度。小鸟为之添加Rigidbody组件,给它一个向下的重力,参数设置如图。接下来把做好的这一部分为一个整体作为预设体,连续复制三部分,分别命名为bg1,bg2,bg3,如图。
嗯,场景大体差不多了,接下来要解决的问题是我们怎样控制场景连续循环呢?毕竟场景就这么大,我们不可能复制出几百份拼接在一起,这是不现实的而且消耗资源内存大。所以要在bg1创建出多一个命名为MoveTrigger的碰撞器,IsTrigger设为true来作为场景连续切换碰撞检测。位置放在bg2的5 / 6位置,在bg1中Apply一下。在主摄像机中写一个游戏管理器GameManager的方法。
using UnityEngine;
using System.Collections;
public class GameManager : MonoBehaviour {
public static int GAMESTATE_MENU=0;//游戏菜单状态
public static int GAMESTATE_PLAYING=1;//游戏中状态
public static int GAMESTATE_END=2;//游戏结束状态
// U
Unity3D开发Flappy Bird:游戏逻辑与控制实现

本文介绍了在Unity3D中开发2D飞行游戏Flappy Bird的游戏逻辑控制。主要内容包括添加碰撞器,确保小鸟、水管、地面的碰撞检测,设置小鸟的重力和Rigidbody组件,实现场景的循环滚动,编写MoveTrigger和GameManager脚本,以及水管的上下移动和分数计算。此外,还讲述了小鸟控制脚本的编写和摄像机的跟随效果,以实现完整的游戏体验。
最低0.47元/天 解锁文章
691

被折叠的 条评论
为什么被折叠?



