- 出道即巅峰,先做个盈利千万的小项目
- 新建 Godot 项目
- Godot 界面介绍
- FlappyBird:1.Hello World
- FlappyBird:2.坠落吧,小鸟
- FlappyBird:3.在哪坠落就在哪飞起来
- FlappyBird:4. 无限地面
- FlappyBird:4.1 无限地面之 Godot 青年 (AnimationPlayer) 版
- FlappyBird:4.2 无限地面之普通青年版
- FlappyBird:4.3 无限地面之文艺青年(shader) 版
- FlappyBird:5.1 无尽水管子滚滚来(一)
- Godot Engine:5 种碰撞体以及 RigidBody 的 4 种模式
- Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D 与 Area2D 碰撞)
- Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D 与 StaticBody2D 碰撞)
- FlappyBird:5.2 无尽水管子滚滚来(二)
- Godot Engine:Timer 节点使用范例
- FlappyBird:6 来点 MUSIC(音效系统)
- Godot Engine:用自动加载(AutoLoad) 实现单例模式(Singleton Pattern)
- FlappyBird:7 心里有数(计分系统)
- Godot Engine:本地数据存取的帮助类(加密/非加密)
- FlappyBird:8 让数据说话(显示分数)
- Godot Engine:如何使用外部字体和 Label 节点制作一个计时器
- FlappyBird:9.1 天下没有不 OVER 的 GAME(上)
- Godot Engine:两行代码实现观察者模式(Observer Pattern),就问你服不服?
- FlappyBird:9.2 天下没有不 OVER 的 GAME(下)
- FlappyBird:10 大不了从头再来(新局启动)
- Godot Engine:用 Call Method Track(方法回调轨道)实现动画回调
- FlappyBird:11 番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)
- Godot Engine:屏幕振动效果的实现
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
FlappyBird:11 番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)
罗永浩都抖音了,要不咱们也抖一抖?面对疾风吧!
游戏的大体已经完结,本节将为游戏增加屏幕震动效果,这将是画龙点睛的一笔!
本章节效果图
搭建场景
- 添加一个
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
运行游戏
肿么样?有木有感受到心灵地震颤?
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论