Godot 自分的メモ

走り書きなんですけど、さらっと書いておきます。

その内丁寧に解説かければと思います。

 

@ノードの作成について

〇Node2d>area2Dで作ること
・Node2d配下だと、応用がききやすい
・area2D配下だと当たり判定が使える

〇当たり判定にはCollisionShape2Dを仕込んでおくこと
おすすめノード構成

・Node2D
 ┗Area2D
  ┗AnimationPlayer
   sprite
   CollisionShape2D

上記構成で、CollisionShape2DのShapeを設定しておけば、Area2Dが検知できるようになる
↓の「@判定をつける」を参照

   

@判定をつける
親ノード(Area2D)にSignalsとしてarea_enteredを設定する

・設定するときに発火する相棒に自身を選択すると、Area2Dに接触するすべて(「.」)で発火するようになる
下記のような関数が作成されればオッケー
※〇〇on□□_area_entered(area): が正しいけど、すべて接触する関数は前半の〇〇が省略される

モノに触れた瞬間

func _on_Player_area_entered(area):
print(name+”が”+area.name+”に触れました”)

###もしも敵の攻撃判定だったら
if area.TYPE=='E_ATTACK_AREA':
    print('痛い!')
    life-=20;
    $Animation.set_current_animation("damage")#アニメーションの再生
pass # replace with function body

〇アニメーションを作る
・AnimationPlayerを使う
・タイムラインを設定して使う
・キーを設定し、spriteを選択、Pathにあるカギマークの押下でキーフレームの設定ができる
・キーフレームは画像パスを変えることによりアニメーションを作れる
・キーフレームは座標にも設定できるため、位置の変更も可能
・また、プログラム関数の引数もキーフレームに設定できるので、間接的にプログラム操作もできる
・もちろんグローバル変数にも関与可能


〇単色の静止画を使う
・ColorRectがおすすめ
・Shader>Material にて画像のコード作成ができる


〇画面の切り替えをする
・下記関数をコピペがおすすめ

#zキーが押されたらゲーム画面へ移動
if Input.is_action_pressed("ui_accept"):
    get_tree().change_scene("res://戦闘画面セット.tscn")

〇日本語フォントを使う
・下記流れでつかんで
 ①nodeからLabelを追加
 ②LabelからControl > castomFontsを選択
 ③New DynamycFontsを選択
 ④New DynamycFontsのプロパティから文字サイズを設定
 ⑤ドラッグアンドドロップでフォントを設定


〇タイムラインでプログラムを使う
新しいトラック > addCallFuncTrackを使う
・参照元は自身を選択する
・呼び出し用の関数を作っておくと便利
以下例

func jump_motion(val):
height = val;

・Nameに関数名、Arg countに引数の数、Argsに引数を入れる
上記の例に沿うと
Name : jump_motion
Arg count : 1
Args : int 設定したい数値

コメントを残す