Menu
CoddyTech

打砖块小球

本课属于 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 时会转向,这些位置都在计分栏下方。

底部没有墙,球拍会守住这一侧。

challenge icon

挑战

中等

让球飞起来并在墙壁上反弹。

  1. 在 ball.gd 中,添加 var velocity = Vector2(110, -280)。
  2. 每个物理帧都用 velocity * delta 移动球。
  3. 当 position.x 小于 8 或大于 632 时,翻转 velocity.x。
  4. 当 position.y 小于 42 时,翻转 velocity.y。

按下 Play:球会在顶部和两侧来回反弹。然后点击 Check。

亲手试试

extends Area2D

func _physics_process(delta):
	pass

项目中的所有课

自己练习: Godot 在线编辑器