【次はP8/P11完結】Katana-EXE Pixel Platformer
https://www.youtube.com/watch?v=smH3toE5a7Q
インドネシア語で分からないので、動きだけを頼りに作ってみる!!
【Part 1】
ディスプレイサイズを、表計算ソフトに入力してサイズ決めるのは真似したい。
【Part 2】
1:50 くらいでマップをハイライト選択しているけど、方法が分からない。
オートタイルの作成方法(Terrain Sets)
TileMap のインスペクター、 Tile Set > Terrain Sets で Add Element して、名前をつける。
TileSet の Terrain から、オートタイルセットに使うタイルをすべて選ぶ。
法則に乗っ取って、塗る
TileMap から Terrain タブを選んで、八方向の矢印アイコンで塗ると、オートタイルとなる。
【Part 3】
新規に継承されたシーンを作成できる
Paint で Physics Layers を選ぶと、選ぶだけでコリージョンになる!!
タイルチップ全てコリージョンなら、Select で一個ずつ選択するより Paint するほうが速い!
【Part 4】
AnimationPlayer で、スプライトシートからフレーム数を指定してアニメ(動き)を作成できる
【Part 5】
オートタイルは、TileMap > Terrains を使うのを忘れないように。
Player(CharacterBody2D)に Camera2D をぶら下げるだけで、カメラがキャラクターに追従する!
Camera2D の Limit を設定すると、マップの端に行った時にスクロースが止まる
その下の Position Smoothing をオンにすると、移動後に少し余韻を残すようなスクロールになる
レベル内の CharaterBody2D を右クリックして、Editable Children をオンにすると、別シーンを直接編集できるようになるようだ。
【Part 6】
Hframes(Horizontal Frames)は、水平方向。Vframes(Vertical Frames)は、垂直方向。
たぶん、-> void: というコードは新しい Godot で廃止されてるんじゃないかな。たぶん、動くけども。
queue_free() は、ノードを削除してくれる
AnimationPlayer で Add Track の流れで、下記のコードと同じこととなる。
code:delete coin
await $AnimationPlayer.animation_finished
queue_free()
【Part 7】
Sprite2D のタイルシートを Region > Enabled をオンにする。Edit Region で Grid Snap にしてから、使いたいマスを囲む。
Area2D は物体とかで、Character(body)は主人公や敵。ざっくりそんな感じ。
get_tree().reload_current_scene() で現在のシーンを再読み込みしてくれる。ただし、デバッグ用の機能。
【Part 8】
Animation の Frame Coords は、フレーム座標の意味。
【1:18 から】