【GDevelop 素振り】Identifier parameter の挙動確認

Identifier parameter

Identifier (text) 日本語環境では 識別子 (テキスト) と表記される Function の Parameters の型です。

以下の公式ドキュメントの「Identifier parameter」の節に説明があります。

Functions - create your own actions, conditions or expressions - GDevelop documentation

This parameter enables auto-completion for previously entered values from other events with the same identifier name and scope.

上記のような説明があるのですが、個人的にパッと理解できなかったので、実際に利用しつつ挙動を確認したいと思います。

確認の準備

Function を作成

以下で、それぞれの Parameters を示します。

TestIdentifierScopedObjectAndScene

TestIdentifierScopedObject

ここでポイントなのは、1つ目の引数 IdScopedObjectIdentifier name が、上記の TestIdentifierScopedObjectAndScene同じになっていることです。

2つ目の引数 IdScopedObject2Identifier name に同じものがありません。

3つ目の引数 IdScopedObject3Identifier name は同じですが、Scope が異なります。

シーンの設定

上記のように Sprite を2つ用意します。

挙動確認

ここからはイベントシートに記載します。

まずは、Character1 に対して、Object と Scene を scope とした引数をそれぞれ文字列で渡します。

異なるオブジェクトに対しての挙動

異なるオブジェクトに対して、同じ Function (TestIdentifierScopedObjectAndScene) を呼び出します。

上記のように IdScopedScene つまり Scope が Scene の引数のみ候補が表示されます。

逆に IdScopedObject つまり Scope が Object の引数は候補がでません。

同じオブジェクトに対しての挙動

続いて同じオブジェクトに対して、異なる Function (TestIdentifierScopedObject) を呼び出します。

上記のように IdScopedObject つまり Scope が Object の引数は補完されます。

これは、Identifier name"Id_Scoped_Object" で同じであるために補完されています。

一方で、2つ目、3つ目の引数は Identifier name、Scope が異なるため補完されません。

ここでは試していませんが、Scope が Scene で Identifier name も同じであれば、同じオブジェクトでも当然補完されます。

まとめ

Identifier paramter の挙動に関して簡単にですが確認しました。

【GDevelop 素振り】チェックポイント機能 - Make Everything Games の中で、Player の Object variable 名を指定するのに使われていたのがきっかけですが、指定ミスを避けるためにも使ってみると便利だなと思える機能でした。