TIPS:数式エディタで関数を呼び出す

2024年3月7日木曜日

GDevelop TIPS

X f B! P L

はじめに

算術演算子だけでは対応できないような複雑な値を計算する必要がゲームではよくあります。
たとえばイベントがプレイヤーの位置に影響するため、プレイヤーのX座標とY座標を動的に計算しなければならないというような状況です。

ここで『関数(Functions)』が登場します。
関数とは、数式エディタから呼び出すことのできる動的な(刻一刻と変化する)値です。
(数式エディタから呼び出さなくても覚えていれば直接入力もできます。)

 これが数式エディタを開くボタンです

関数を使うと、ゲームの最中に複雑な値を動的に計算することができます。
関数が計算した結果の値のことを「戻り値」と呼びます。
たとえばX関数とY関数は、オブジェクトの座標を計算して戻り値を返します。

また、関数は引数というパラメータを受け取る場合があります。
例えば、マウスカーソルのX座標を取得する関数の場合
 CursorX(layer, camera) 
()の中のLayerとCameraが引数です。

 CursorX("UI", 1) 
この場合「マウスカーソルのX座標に、レイヤー"UI"、カメラ番号1を引数として渡す」となります。

オブジェクト関数

オブジェクトを追加すると、伴った関数を数式エディタから呼び出すことができます。

 Object.X() 
これはObjectのX座標を計算するX関数です。
ObjectのX座標が「100」であれば、この計算で「100」という戻り値を返します。

 SceneWindowWidth() 
これはシーンウィンドウの幅を計算する関数です。
シーンウィンドウの幅が1280なら、この計算で「1280」という戻り値を返します。

例えば「Object.X()の値がSceneWindowWidth()の値以上」という条件のとき
「Object.X()の座標に0を代入」というアクションを実行したとします。

このイベントは、Objectが右に移動してウィンドウの右端まで到達したら、ウィンドウの左端にObjectの座標が変更されます。

オブジェクト関数は座標以外にさまざまな値を取得できます。
<例>
  • Object.Angle() - オブジェクトの角度(度単位)を取得します。
  • Object.Layer() - オブジェクトが配置されているレイヤーの名前を取得します。
  • Object.ObjectName() - オブジェクトの名前を取得します。

ビヘイビア関数

ビヘイビアを追加すると、伴った関数を数式エディタから呼び出すことができます。
<例>
  • Tween::Progress(string) - 再生中のTweenの進捗具合を取得します。
  • Object.Pathfinding::DestinationX() - 経路探索ビヘイビアのオブジェクトの目的地のX座標を取得します。
  • Object.TopDownMovement::Speed() - トップダウンビヘイビアのオブジェクトの速度を取得します。

オブジェクトにもビヘイビアにも伴わない関数

上記以外の関数で、特定のオブジェクトやビヘイビアに伴いません。
<例>
  • SceneWindowWidth() - シーンウィンドウの幅を返します。
  • CursorX(layer name, number) - カーソルのX座標を返します。
  • CameraCenterX(layer name, number) - カメラの中心のX座標を返します。

イベント関数

このほかに、イベント関数があります。
イベント関数とは、イベントをまとめて関数にし、自作の拡張機能として使えます。
そちらは次回、チュートリアルで実際にプロジェクトを作成しながら手順を追ってお届けします。
イベントから拡張機能を作成する<イベント関数>

イベントから拡張機能を作成する<イベント関数>

はじめに イベントから関数を作成することによって、イベント群をひとつの拡張機能として扱うことが可能ですので、数行にわたるイベントを一行に納めることが可能です。 また、ほかのプロジェクトで簡単に共有できるようになります。 前回はTIPSで基本的な関数について...


最後までお読みいただきありがとうございました😆
もしよろしければ下記のボタンから応援よろしくお願いします🙇



こちらの記事はいかがでしたか?
ぜひご評価をおねがいします🙏

プロフィール


My name is Cratier.
I'm an indie game developer.


Read more...

このブログを検索

Translate

UPDATE

最新コメント

人気の投稿

アーカイブ

リンク元ランキング

カテゴリー

アンケート



Q.クレイティアのGD覚書でお気に入りのコンテンツはどれですか?

チュートリアル
TIPS
RTA Develop
雑記
That's談
その他


Q.あなたのGDvelop使用歴はどれくらいですか?

1ヶ月未満
半年未満
1年未満
1年以上
2年以上
3年以上
4年以上
5年以上

オープンチャット

LINEアカウント

ご連絡フォーム、またはLINEから お問い合わせ、ご要望、ご指摘など、お気軽にご連絡くださいませ。

ご連絡

名前

メール *

メッセージ *

💗雑談CHAT💗
お気軽にお話しください🐹
同時接続人数:

もしよろしければ下記のボタンから応援よろしくお願いします🙇




QooQ