Godot3でAnimatedSpriteを使う
まずAsepriteで上下左右移動のスプライトを用意し、Srpite Sheet としてExportする https://gyazo.com/f9e7f80e1c7ffda350df2a923c39c505
GodotでAnimatedSpriteノードを作成し、インスペクタから新規SpriteFrameを選択する
https://gyazo.com/b4592938faa4bba6973d512a0b8f6fb4
スプライトフレームウインドウが表示されるので、「スプライトシートからフレームを追加する」ボタンを押す
https://gyazo.com/cdb7f4c2c23742868f0eb403db3dbef0
先程エクスポートしたSprite Sheet ファイルを選択し、分割数を入力する。今回の場合だと、水平2/垂直4
https://gyazo.com/60ce4fcb3b0f55a9547f89a0f99da161
上下左右のアニメーションを登録する
例えば下移動であれば正面を向いているspriteのフレームを2つ選択する
code:anim.py
var tile_size = 16
var inputs = {
"ui_left": {"v": Vector2.LEFT, "anim": "left"},
"ui_right": {"v": Vector2.RIGHT, "anim":"right"},
"ui_down": {"v": Vector2.DOWN, "anim":"front"},
"ui_up": {"v": Vector2.UP, "anim": "back"},
}
func _unhandled_input(event):
for dir in inputs.keys():
if event.is_action_pressed(dir):
if Globals.stage_end == false:
_move(dir)
func _move(dir) -> void:
// ここでアニメーションを指定している
anim.animation = inputsdir.anim これで動く
https://gyazo.com/65b7731b278b12fb15837d755eb65b40
参考記事