ここでは、GDScriptでACTION GAME MAKER用のクラスにアクセスするためのメソッドリストを一覧で紹介します。
変数/スイッチ関連メソッド
| 概要 | メソッド |
|---|---|
| 変数のデータを取得 | $“../VariableSettings”.get_value(“変数データ名”) |
| スイッチのデータを取得 | $“../SwitchSettings”.get_value(“変数データ名”) |
| 変数のデータの存在を確認 | $“../VariableSettings”.has_value(“変数データ名”) |
| スイッチのデータの存在を確認 | $“../SwitchSettings”.has_value(“変数データ名”) |
| 変数のデータを代入 | $“VaribleSettings へのパス”.set_value(“変数名”, 代入したい値) |
| スイッチのデータを代入 | $“SwitchSettings へのパス”.set_value(“スイッチ名”, True / False) |
| シグナルの接続 | custom_signal.connect(Callable(GameObjectのインスタンス, “receive_signal”)) |
| VariableSettingsノードの取得 | $“GameObjectへのパス”.get_variable_settings() |
| SwitchSettingsノードの取得 | $“GameObjectへのパス”.get_switch_settings() |
読み取り専用の変数/スイッチ
以下のACTION GAME MAKER用変数/スイッチは参照専用の数値のためメソッド経由で変更できません。
| タイプ | 名称 |
|---|---|
| スイッチ | is_locked, is_touching_portal |
| 変数 | object_id, stayed_area_id, visible_direction, x_speed, y_speed, player_id, controller_id, taken_damage |
データベース関連メソッド
| 概要 | メソッド |
|---|---|
| ユーザーデータベースのデータを取得 | AGMakerManager.get_project_database_plain(“database_name”, “record_name”, “column_name”) |
| プロジェクト変数のデータを取得 | AGMakerManager.get_project_database_variable(“record_name”) |
| プロジェクトスイッチのデータを取得 | AGMakerManager.get_project_database_switch(“record_name”) |
| サウンドデータベースのデータを取得 | AGMakerManager.get_project_database_sound(“record_name”, “column_name”) |
| ユーザーデータベースのデータに代入 | AGMakerManager.update_project_database_plain(“データベース名”, “レコード名”, “カラム名”, 値) |
| プロジェクト変数のデータに代入 | AGMakerManager.update_project_database_variable(“変数名”, 値) |
| プロジェクトスイッチのデータに代入 | AGMakerManager.update_project_database_switch(“スイッチ名”, True / False) |
レコードのインデックスでデータを取得
-
get_project_database_plain_by_idx:ユーザーデータベース -
get_project_database_equipment_type_by_idx:装備タイプ -
get_project_database_attribute_type_by_idx:属性タイプ -
get_project_database_custom_type_by_idx:ユーザー定義タイプデータベース -
get_project_database_sound_by_idx:サウンドデータベース -
get_project_database_variable_by_idx:プロジェクト変数 -
get_project_database_switch_by_idx:プロジェクトスイッチ
レコードのインデックスでデータを更新
-
update_project_database_plain_by_idx:ユーザーデータベース -
update_project_database_variable_by_idx:プロジェクト変数 -
update_project_database_switch_by_idx:プロジェクトスイッチ
レコードの総数を取得
-
get_project_database_plain_record_max:ユーザーデータベース -
get_project_database_equipment_type_record_max:装備タイプ -
get_project_database_attribute_type_record_max:属性タイプ -
get_project_database_custom_type_record_max:ユーザー定義タイプデータベース -
get_project_database_sound_record_max:サウンドデータベース -
get_project_database_variable_record_max:プロジェクト変数 -
get_project_database_switch_record_max:プロジェクトスイッチ
カメラ関連メソッド
CameraTargetSettings を生成
var camera_target_settings = CameraTargetSettings.new()
camera_target_settings._target_id = “任意のID”
camera_target_settings._is_active_target = true
camera_target_settings._visible_size = Vector2(100, 100)
add_child(camera_target_settings)
camera_target_settings.position = Vector2( 100, 100)
任意の ZoomCamera2D に生成した CameraTargetSettings を登録
$ZoomCamera2D.regist_target(camera_target_settings.get_instance_id())
ZoomCamera2DからCameraTargetSettings を解除
$ZoomCamera2D.unregist_target(camera_target_settings.get_instance_id())
その他のメソッド
GDScriptで生成されたゲームオブジェクトをAGMakerManagerに登録
AGMakerManager.regist_game_object(“TargetNode”)
現在実行されているゲームシーンを取得
get_current_game_scene()
func _ready() -> void:
var game_scene = AGMakerManager.get_current_game_scene()
print("*** get current scene = ", game_scene.name)
pass
シグナル一覧
GameObject
on_saved(int slot, Object object)
on_loaded(int slot, Object object)
AGMakerManager
on_saved(int slot)
on_loaded(int slot)
game_scene_about_to_change(current: Object)
シーン遷移実行直前に発火されるシグナルです、current には遷移前のゲームシーンが渡されます
game_scene_changed(current: Object)
シーン遷移後に発火されるシグナルです、current には遷移後のゲームシーンが渡されます
※型がObject になっているのは Godot の仕様ですので、使用する側でGameScene やNode2D に型変換を行ってください
サンプルコード:
func _ready() -> void:
# シーン遷移前イベントのシグナルへ接続
AGMakerManager.game_scene_about_to_change.connect(_on_before_change_scene)
# シーン遷移後イベントのシグナルへ接続
AGMakerManager.game_scene_changed.connect(_on_after_change_scene)
pass
func _on_before_change_scene(current_scene: GameScene):
print("*** on before change scene = ", current_scene.name)
pass
func _on_after_change_scene(current_scene: GameScene):
print("*** on after change scene = ", current_scene.name)
pass