返回介绍

FlappyBird:11 番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)

发布于 2025-04-26 18:34:24 字数 1647 浏览 0 评论 0 收藏

罗永浩都抖音了,要不咱们也抖一抖?面对疾风吧!

游戏的大体已经完结,本节将为游戏增加屏幕震动效果,这将是画龙点睛的一笔!

本章节效果图

搭建场景

  • 添加一个 Camera2D 节点
    将其 Anchor Mode 设为 Fiexd TopLeft
    勾选其 Current ,这样新添加的摄像机才能覆盖默认摄像机
  • 添加一个 Tween 节点作为 Camera2D 的子节点,更名为"CameraShaker",并为其添加"CameraShaker.gd"脚本

Tween 节点是 Godot Engine 里原生的插值动画节点,类似于 Unity 的插件 iTween 或 DoTween。Unity 的很多插件甚至付费插件,在 Godot Engine 中都有原生替代品,这一点不得不大赞一个!!!

CameraShaker 的实现

注意:2D 和 3D 中,屏幕(摄像机)震动的方式略有不同,这一篇博文 《Godot Engine:屏幕振动效果的实现》 提供了 3D 版本的实现。

#CameraShaker.gd
extends Tween

var camera : Camera2D
var strength : float = 50 #振幅
var duration : float = 1.0#震动时长


func _ready():
	add_to_group("GAME_STATE") #加入"GAME_STATE"组
	camera = get_parent() as Camera2D
	
func disturb_offset(s : float):
	camera.position.x = rand_range(-s,s)
	camera.position.y = rand_range(-s,s)

func on_game_over():
	interpolate_method(self,"disturb_offset",strength,0,duration,Tween.TRANS_SINE,Tween.EASE_OUT,0)
	start()

运行游戏

F5 运行游戏

肿么样?有木有感受到心灵地震颤?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。