よく使う関数
随時更新するページ。
Godotでつかわれるプログラム言語GDScriptの関数は
func +スペース+関数名 で記述。「:」のあとのインデントでブロックを作る構文。
関数には組み込み関数と、ユーザーが作る独自言語の2種類がある。このページにメモるのは組み込み関数のほう。
<記述スタイル例>
func _process(delta):
if Input.is_action_pressed("ui_right"):
position.x += 200 * delta
↑右移動キー(プロジェクト設定>インプットマップ>組み込みアクションのui_rightに設定されたキー)を押してるあいだ、オブジェクトが右方向(x軸の正方向)に200ピクセル/秒の速度で移動する。
1. ノードの基本操作
_ready()
・・・シーンが読み込まれるとき1回だけ呼ばれる。初期化処理に使用。
_process(delta)
・・・毎フレーム呼ばれる。ゲームロジックやアニメーションの更新に使用。deltaは前のフレームからの経過時間(秒)
_physics_process(delta)
・・・固定フレームレートで呼び出され、物理計算に使用。
2. シーン管理
change_scene_to_file()
・・・現在のシーンを別のシーンに切り替える。
queue_free()
・・・ノードをシーンツリーから削除し、メモリを解放。
3. 入力処理
Input.is_action_pressed(action)
・・・特定の入力アクションが押され続けているかをチェック。
Input.is_action_just_pressed(action)
・・・特定の入力アクションがこのフレームで押されたかをチェック。
Input.is_action_just_released(action)
・・・特定の入力アクションがこのフレームで離されたかをチェック。
4. 物理演算と移動
move_and_collide()
・・・CharacterBody2Dのシンプルな移動処理。
move_and_slide()
・・・スライドする動きに対応した移動。
5. アニメーション
AnimationPlayer.play() ・・・アニメーションの再生。
Sprite2D.flip_h ・・・水平方向にスプライトを反転。
6. ノードツリーの操作
get_node() ・・・特定の子ノードを取得。
add_chiled() ・・・子ノードを動的に追加。
7. カメラと画面
Camera2D.zoom ・・・カメラのズーム操作。
8. そのほか
lerp() ・・・線形補完で値を滑らかに移動。
clamp() ・・・値を特定の範囲内に制限。
rand_range() ・・・ランダムな値を生成。