[Godot3.3.3] 敌人生成动画 – EnemySpawnAnimation

Enemy 结点

首先在 enemy.tscn 场景中的 AnimatedSprite2D 中加入一个名为 spawn 的动画:

添加 AnimationPlayer 结点:

在变量申明中添加下面一个变量:

var isSpawning = true   

并在 _process() 函数中判断是否处于生成状态,如果处于生成状态直接返回:

func _process(delta):
if (isSpawning):
return

回到 Enemy 中的 AnimationPlayer 添加一个属性轨道,插入一个 AnimatedSprite2DAnimation 值,开始时设置为 spawn,如下所示:

Enemy 也添加一个 Visuals 结点用来管理视觉翻转:

为了让敌人生成出来的时候有一种生出来的感觉,而不是突然出现在空中,我们需要为缩放增加两个关键帧,具体在 AnimationPlayer 中实施,在 AnimationPlayer 中添加 Visuals 结点的 Scale 属性轨道:

在动画中添加属性值:

或许可以让大小先变到 1.1(等比例) 再变到 1,让动画看起来有一点弹性,然后改为三次方线性插值使之更加丝滑。

并且需要在动画的开始禁用攻击盒子和受伤盒子。

添加一个 default 动画,类似于 Godot4 中的 reset 动画:

点击 动画 按钮并编辑过渡动画,使 spawn 动画结束后自动进入 default 动画中:

修改上面的代码,将 isSpawning 导出:

如果不进行导出,isSpawning 无法在动画播放器中的属性轨道中找到。

在 default 动画中将 isSpawning 恢复为 true

OK,这样我们的敌人生成动画就完成了。

作者:Sy_
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇