Menu
CoddyTech

挤压与拉伸

本课属于 Coddy Godot 学习旅程的“游戏体验”单元。第 18 课,共 23 课。

卡通角色被击中时会被压扁,然后弹回来。这样会让击打看起来更有分量。

压扁效果是一个针对 scale 的两步补间动画。第一步让机器人变宽、变扁。第二步使用 Tween.TRANS_ELASTIC 弹回到 Vector2(1, 1),越过正常大小后摇晃一会儿再稳定下来。

var wobble = create_tween()
wobble.tween_property(self, "scale", Vector2(1.4, 0.6), 0.08)
wobble.tween_property(self, "scale", Vector2(1, 1), 0.5).set_trans(Tween.TRANS_ELASTIC).set_ease(Tween.EASE_OUT)

这是第二个补间动画,与闪光补间动画并列。只要修改的是不同属性,两个补间动画就可以同时运行。

challenge icon

挑战

简单

机器人被击中时,让它压扁。

  1. 在 hit() 中的闪光效果之后,创建第二个名为 wobble 的补间。
  2. 在 0.08 秒内将 scale 补间到 Vector2(1.4, 0.6)。
  3. 然后在 0.5 秒内将它补间回 Vector2(1, 1),并使用 Tween.TRANS_ELASTIC 和 Tween.EASE_OUT。

按下运行,再按 E:机器人会压扁后弹回来。然后按检查。

亲手试试

extends Node2D

func hit():
	modulate = Color(4, 4, 4)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)

游戏体验中的所有课

自己练习: Godot 在线编辑器