《FlyingBird》游戏代码讲解(1-5)
第一部分:SportCtrl,对小鸟的运动控制
- 首先获取
Rigidbody2D rb
- 在
void Start
下进行初始化rb = GetComponent<Rigidbody2D>()
然后定义一个Fly方法,然后再void Update
下进行调用。 - Fly的方法主要用于监听: 首先定义X方向的速度,在默认情况下,小鸟始终是向右匀速运动
float xSpeed = 1f
,然后从缸体上获取一下小鸟竖直方向的速度Vector3 v = rb.velocity
- 对鼠标左键进行监听,当按住鼠标左键时,小鸟会获得一个持续向上的速度
if (Input.GetMouseButton(0))
,当松开鼠标左键的时候,小鸟就会坠落。
当每次按下鼠标,我们把竖直方向的速度改为2米每秒向上运动。 - 然后再修改我们缸体的速度
rb.velocity = new Vector3(xSpeed, ySpeed, 0)
第二部分:CameraCtrl,摄像机跟随以及高度限制
-
首先
“public Transform target”
定义一个目标,表示它是主角,要跟随小鸟。 -
其次在定义一个
"offset"
,表示要跟随的目标的一个偏移量。 -
然后
"void Start"下使“offset”=“transform.position - target.position”
,意味着在游戏开始的第一帧记录下摄像机与小鸟的距离。 -
在
“void Update”下使“transform.position"="target.posiyion+offset"
,意为在每一帧修改相机的一个位置。 -
此时我们会发现,相机已经可以跟随小鸟移动,但在小鸟位置过高时,会出现场景穿帮现象,所以我们需要限制一下相机高度,我们此时继续编辑我们"CameraCtrl"代码。
-
首先将
“void Update”改为“void LateUpdate”
,其次再将“transform.position"改为“Vector3 pos”
(目标位置)