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

2024年3月7日木曜日

GDevelop Tutorial

X f B! P L

はじめに

イベントから関数を作成することによって、イベント群をひとつの拡張機能として扱うことが可能ですので、数行にわたるイベントを一行に納めることが可能です。
前回はTIPSで基本的な関数について解説しましたので、今回はイベント関数のチュートリアルをお届けします。

1.関数にするイベントを用意する

今回、関数にするイベントとして「RPGのチュートリアルVol.1」で使用した「レトロRPG風の移動」を使います。
プロジェクトファイルを配布していますのでダウンロードしてご利用ください。
RPGの超チュートリアル Vol.1

RPGの超チュートリアル Vol.1

はじめに 今回のシリーズは、RPGのなかでもトップダウンタイプ(見下ろし型)のチュートリアルとなります。 その第一弾となる本記事ではプレイヤーとパーティーの移動に関するイベントを解説していきます。

2.イベントから関数を作成する

イベントグループの右クリックメニューを開き、「置き換え」から「イベントから関数を作成する」を選択します。

イベント関数作成メニューが開きますので、各項目を下記のとおり入力していきます。
  • 拡張機能(関数の保存):<新しい拡張機能を作る>
    新しい拡張機能名:RPG_Move
  • 関数名:RPG_Move
  • エディターに表示される名前:オブジェクトのRPG風移動
  • グループ名:移動
  • エディターに表示される説明:
    レトロなトップダウンRPG風の、仮想グリッドにスナップしたような4方向移動です。
  • イベントシート内の文章:
    先頭オブジェクト _PARAM1_ の移動距離 _PARAM3_ px / _PARAM4_ s , 2番目の _PARAM5_ は _PARAM7_へ向かう , 3番目の _PARAM8_は_PARAM10_へ向かう , 4番目の _PARAM11_ は _PARAM13_へ向かう

以下はパラメーターです。
パラメーターは「_PARAM1_」から「_PARAM13_」まであります。
パラメーターの順番はイベントシート内の文章に従っています。
この順番が変わるとエラーが出ますので、必ず下記の順番通りにします。
  1. パラメーター#1Sprite1
    タイプ:オブジェクト
    オブジェクトタイプ:スプライト
    ラベル:先頭のオブジェクト
  2. パラメーター#2Tween
    タイプ:ビヘイビア(前のオブジェクトに対する)
    ビヘイビアのタイプ:Tween
    ラベル:変更不可
  3. パラメーター#3MoveDistance
    タイプ:数値
    ラベル:移動距離
  4. パラメーター#4Time
    タイプ:数値
    ラベル:時間
  5. パラメーター#5Sprite2
    タイプ:オブジェクト
    オブジェクトタイプ:スプライト
    ラベル:2番目のオブジェクト
  6. パラメーター#6Pathfinding
    タイプ:ビヘイビア(前のオブジェクトに対する)
    オブジェクトタイプ:経路探索
    ラベル:変更不可
  7. パラメーター#7Point1
    タイプ:オブジェクト
    オブジェクトタイプ:スプライト
    ラベル:2番目のオブジェクトの目的地となるオブジェクト
  8. パラメーター#8Sprite3
    タイプ:オブジェクト
    オブジェクトタイプ:スプライト
    ラベル:3番目のオブジェクト
  9. パラメーター#9Pathfinding
    タイプ:ビヘイビア(前のオブジェクトに対する)
    オブジェクトタイプ:経路探索
    ラベル:変更不可
  10. パラメーター#10Point2
    タイプ:オブジェクト
    オブジェクトタイプ:スプライト
    ラベル:3番目のオブジェクトの目的地となるオブジェクト
  11. パラメーター#11Sprite4
    タイプ:オブジェクト
    オブジェクトタイプ:スプライト
    ラベル:4番目のオブジェクト
  12. パラメーター#12Pathfinding
    タイプ:ビヘイビア(前のオブジェクトに対する)
    オブジェクトタイプ:経路探索
    ラベル:変更不可
  13. パラメーター#13Point3
    タイプ:オブジェクト
    オブジェクトタイプ:スプライト
    ラベル:4番目のオブジェクトの目的地となるオブジェクト

3.イベントにパラメーターを反映する。

パラメーターで設定した「MoveDistance」と「Time」という要素をイベントに反映します。
プロジェクトマネージャーから、先程作成した拡張機能を編集します。

編集タブを開いたら、左メニューにある「RPG_Move」をクリックします。
右下にイベントが表示されますので編集します。

下記のイベントを書き換えます
 Sprite1 の Y座標を Sprite1.Y() - 64 へ、イージング "Liner" 0.25 秒かけて "UpMove" としてTweenする 
 Sprite1 の Y座標を Sprite1.Y() - MoveDistance へ、イージング "Liner" Time 秒かけて "UpMove" としてTweenする 


これはUpキーを押したときのアクションです。
Downキー、Leftキー、Rightキーを押したときのアクションも同じ要領で置き換えます。

編集タブからイベントタブに移って確認してみましょう。

「アクション追加」に作成した「RPG Move」が追加されています。
それではパラメーターの各項目を入力しましょう。
  • 先頭のオブジェクト:操作キャラです。
  • 移動距離:一度に移動するグリッドのサイズです。
  • 時間:一度の移動にかかる時間です。
  • 2番目のオブジェクト:パーティーの2番目のキャラです。
  • 2番目のオブジェクトの目的地となるオブジェクト:チュートリアルで使用したPoint1です。
  • 3番目のオブジェクト:パーティーの3番目のキャラです。
  • 3番目のオブジェクトの目的地となるオブジェクト:チュートリアルで使用したPoint2です。
  • 4番目のオブジェクト:パーティーの4番目のキャラです。
  • 4番目のオブジェクトの目的地となるオブジェクト:チュートリアルで使用したPoint3です。

すべて入力して「OK」を押すと以下のようなアクションになります。


これで完成です!おつかれさまでした。

4.プロジェクトファイル

本チュートリアルで作成したプロジェクトファイルを配布します。

おわりに

用意されている拡張機能を使用するのもいいですが、自作すれば融通が効きますので是非ともお試しください。
既存の拡張機能を自分流に再現してみるのもいいですね。

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



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

プロフィール


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