打砖块小球
本课属于 Coddy Godot 学习旅程的“项目”单元。第 3 课,共 36 课。
接下来是球,位于 ball.gd 中。球按照它的 velocity 移动:每秒移动若干像素,可以向侧面或下方移动。
var velocity = Vector2(110, -280)
func _physics_process(delta):
position += velocity * delta负数 y 表示向上,所以这个球一开始会向上、向右移动。
要让球反弹,就在碰到墙时翻转速度的一个分量。碰到侧墙时翻转 velocity.x。碰到顶墙时翻转 velocity.y。球的中点到达 x = 8、x = 632 或 y = 42 时会转向,这些位置都在计分栏下方。
底部没有墙,球拍会守住这一侧。
挑战
中等让球飞起来并在墙壁上反弹。
- 在
ball.gd中,添加var velocity = Vector2(110, -280)。 - 每个物理帧都用
velocity * delta移动球。 - 当
position.x小于 8 或大于 632 时,翻转velocity.x。 - 当
position.y小于 42 时,翻转velocity.y。
按下 Play:球会在顶部和两侧来回反弹。然后点击 Check。
亲手试试
extends Area2D
func _physics_process(delta):
pass
项目中的所有课
自己练习: Godot 在线编辑器