您当前的位置: 首页 >  游戏

开发游戏的老王

暂无认证

  • 1浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【手把手带你Godot游戏开发】FlappyBird:11 番外篇:罗永浩都抖音了,要不咱们也抖一抖?(屏幕震动)

开发游戏的老王 发布时间:2020-04-02 10:29:03 ,浏览量:1

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

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

本章节效果图

在这里插入图片描述

文章目录
        • 搭建场景
        • CameraShaker的实现
        • 运行游戏

搭建场景
  • 添加一个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运行游戏

肿么样?有木有感受到心灵地震颤? 在这里插入图片描述

关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.1107s