辞書 (Dictionaries)
GDScript の辞書は、データをキーと値のペアとして格納するために使用されます。各キーと値は、数値、文字列、またはオブジェクトを使用できます。辞書は波括弧
{}
を使って構築されます。
辞書内のデータは特定の順序ではなく、ユニークなキーを使って値にアクセスします。
構文は JSON データ形式と同じです。さらに、データを手動で編集しやすくするための別の構文もサポートされています。
辞書はゲームデータを格納するのに便利です。
以下のコードは、辞書の定義方法や利用可能なメソッドの使用方法を示しています:
extends Node2D
# 空の辞書オブジェクトを宣言var game = {}
func _ready(): # プレイヤーの辞書を初期化 var player = { "name": "Thor", "inventory": ["sword", "shield", "map"], "location": "Castellion", "energy": 67 } if game.empty(): # game辞書にデータを追加 game["player"] = player game["score"] = 0 game["dummy"] = null if game.has("dummy"): game.erase("dummy") print(game.get("dummy", "Key not found!")) if game.has_all(["player", "score"]): print(game["player"]["name"]) player["energy"] += 1 print(game.keys().size()) print(game.size()) print(player.values()[0]) # 辞書を初期化する別の方法 var d = { a = { a1 = { a11 = 1, a12 = 2 }, a2 = 3 }, b = 1 } # 辞書のコピーを作成 var deep_copy = d.duplicate(true) var shallow_copy = d.duplicate() print(deep_copy)
# シャロ―コピーが変更されることを期待していました print(shallow_copy)