本系列是根据老师的教程做的, 中间遇到些小问题, 于是把自己做的过程记录下来, 便于下次查看, 如有错误, 欢迎批评指正, 附上老师的原地址: 开发游戏的老王
本节效果
让小鸟飞起来
- Bird上添加脚本
- 添加代码
func _physics_process(delta):
if Input.is_mouse_button_pressed(1):#当按鼠标左键时
linear_velocity = Vector2.UP*500#给它一个竖直向上的线性速度
_physics_process ( float delta ) 物理同步更新(每隔一定固定间隔, 系统会自动调用这个函数) 相当于Unity的FixedUpdate
Input.is_mouse_button_pressed(1)表示某个按键被按下, 括号里参数对应按键表
linear_velocity = Vector2.UP*500设置一个向上的线性速度 可以参考
添加上仰下坠效果
- 小鸟没有动作, 看起来有点假, 改一下脚本, 加入上仰和下坠, 并加入范围
func _physics_process(delta):
if Input.is_mouse_button_pressed(1): #当按鼠标左键时
linear_velocity = Vector2.UP*500 #给它一个竖直向上的线性速度
angular_velocity = -3.0 #每次按钮按下提升高度的同时把小鸟的头往上扬起来
if rotation_degrees < -30: #最大仰角30度
rotation_degrees = -30 #扬起角度不能超过范围
angular_velocity = 0
if linear_velocity.y > 0.0: #下坠时给它一个顺时针的角速度
angular_velocity = 1.5
if rotation_degrees > 50: #最小仰角30度
rotation_degrees = 50 #下坠角度不能超过范围
angular_velocity = 0
angular_velocity 旋转速度 见: RigidBody2D参数表
rotation_degrees 相对于节点父级的旋转角度 见: Node2D参数表
- 运行一下