FlappyBird问题
#作业总结
- 作业名为FlappyBird
- 本次作业布置于2021年1月27日
在FlappyBird游戏中玩家必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍。
FlappyBird原理解析
首先搭建舞台
黑色方框是相机可视范围,蓝色矩形是背景,黄色矩形是地面,绿色矩形是管道,橙色圆形就是我们的主角了。主角身上有两个力,分别是持续向右的力和向下的重力。管道则是-3~-1.5范围内随机高度。背景和地面不移动,只有主角持续向右移动。
实现功能
当左侧的背景和地面不被渲染时移动(当前位置 * 图片宽度 * 3)个距离实现滚动地图。主角每穿过一组管道加一分,碰到管道或者地面则为失败。
得分触发
在每组管道中间都添加一个空物体,并为其添加一个碰撞体,当主角穿过时触发得分
public class ScoreCtrl : MonoBehaviour
{
public void OnTriggerEnter2D(Collider2D other)
//检测物体及子物体碰撞体事件
{
if (other.CompareTag("Player"))
{
GameRoot.Instance.GetPoint();
}
}
}
最后完善一下游戏逻辑,场景切换也就差不多了。