投稿

意外とややこしいスプライトの反転

イメージ
GDevelop はゲームエンジンとしては珍しく、今のところ(v5.0.0-beta103)エディター上でスプライトを反転させることができません😢 反転させるにはイベントで、スプライトに反転エフェクトをかける必要があります。 このアクションです↓ 水平方向、または垂直方向に反転させることができます。 もちろん水平反転させてから垂直反転する、といったことも可能です。 なお、他のゲームエンジンでは、サイズやスケールの値をマイナスにすることで反転させることができたりしますが、GDevelop ではそれらの値をマイナスに設定することはできません。(0 になります。つまり見えなくなります💦) ⚠ エディター上で無理やりマイナス値にすると、一見それっぽくなりますが、実行時には 0 になり見えなくなります。 反転時の当たり判定とポイントについて スプライトには当たり判定やポイントを設定できます。 それらはスプライトが反転されると以下のように変わります。 まず当たり判定は、デフォルトの衝突マスクでも、カスタム衝突マスクでも、スプライトに合わせて反転してくれます。 これは多くの場合、期待通りに機能してくれるでしょう。 次にポイントについてですが、こちらは少々ややこしいです。 そもそもポイントには最初から「Origin」と「Center」が設定されています。 Origin は原点を指していて、スプライトの位置(X と Y の値)で使用されるポイントです。 Center は中心を指していて、スプライトの回転や反転するときの基準となるポイントです。 この2つのポイントは、反転しても反転しません(分かりにくいw) しかし、独自に追加したポイントは反転します😵 具体的に例を見てみましょう。 スプライトには、このようにポイントが設定されていた場合↓ 分かりにくいけど赤丸のところに追加した「Point」というポイントがあります。 そのスプライトを反転させると、それぞれのポイント位置は、このようになります↓ 赤い+ は Origin、 黄色い+ は Center、 水色+ は Point スプライトが反転しても、Origin は反転していません。 そのためスプライトの位置(X と Y)も反転前と変わりません。 Center はそもそも反転の基準となっているため、同じ位置のままです。 そして独自

構造体 (Structure) の変数を複製(ディープコピー)するには?

イメージ
 GDevelop の変数は入れ子にすることができ、そのような変数を「構造体」と言います。 その構造体を複製(コピー)したい時に使えるテクニックを紹介します。 少々力技ですが、JSON を経由させることで、簡単に複製することができます。 こんな感じです↓ まず、コピー先の変数に応じて以下のアクションから選択します。 JSONをグローバル変数に変換する JSONをオブジェクト変数に変換する JSONをシーン変数に変換する そして「JSON文字列」には、コピー元の変数に応じて、以下の式を利用します。 「グローバル変数をJSONに変換」⇒ GlobalVarToJSON() 「オブジェクト変数をJSONに変換する」⇒ ObjectVarToJSON() 「シーン変数をJSONに変換」⇒ ToJSON() このように一度 JSON へ変換することで、どんな構造の構造体でも複製することができます👍

スクロールできるリスト型の UI を作れる拡張機能を作ったよ

イメージ
スクロールできるリスト型の UI を簡単(?)に作れる拡張機能(エクステンション)を作成してみました。 詳しくは フォーラムの投稿 をご覧ください。 実際に使用している様子の動画はこちら↓ 色々なシーンで使えるので便利だよ👺 ご自由にご利用ください。

テキストを改行する方法

イメージ
テキストオブジェクトのテキストをイベントで改行する方法が、GDevelop ではちょっと特殊なので、解説したいと思います。 ベースが JavaScript なので、改行は "\n" を入れる必要があるのかと思いきや、実は値の中で直接改行すれば良いだけです。 ちなみに、改行するための専用の関数(式)も用意されています。 それが NewLine() です。 こんな感じで、テキストに連結して使用します↓ ただし、この方法だと煩雑になりやすいので、通常は前者の方がオススメです😉

コメントやイベント無効化の使い方

イメージ
GDevelop では「コメント」を利用して、イベントでどんなことをしているか、などのメモを残すことができます。 コメントは「イベントを選択して追加」ボタンや「新しいイベントを追加」を右クリックしたメニューから追加できます。 他の人や、後で読む自分のために、コメントを残しておくと便利です📝 ちなみにコメントを右クリックしたメニューの「編集」から、背景色や文字色を変更することもできます。(なおコメント編集中はなぜか右クリックメニューが開きません🤔) ところで、プログラミングではよく、コードの一部をコメントアウト(無効化)して、動作を確認したりしますが、GDevelop のコメントではそのようなことはできません。 そこで、GDevelop ではイベントを右クリックしたメニューから「有効/無効を切り替え」で、同等のことができるようになっています。 ただし、これはイベント単位で切り替わるので、式だけとかアクションだけ、というようなことはできません。 式やアクションだけを無効にしたい場合は、別途、無効にしたイベントを用意して、そこへ一時的に避難させておくと良いでしょう😊

v5.0.0-beta103 がリリースされました。

GDevelop 5.0.0-beta103 がリリースされたので、個人的に気になった主な更新内容をピックアップしてみました! 💝 改善点 ライトレイヤーの環境光を変更するアクションを追加 レイヤー上のカメラのズーム値を取得する式を追加 構造体変数の子を反復処理する ForEach イベントを追加 Google Firebase のサポート 🐛 バグの修正 iOS と Safari 関連の問題を修正 などなど、他にも改善やバグ修正がおこなわれています! 詳細は GitHub の v5.0.0-beta103 ページをチェック! 🧐 個人的注目ポイント まずなんと言っても、このバージョンから大幅に日本語化が進みました🙌 今回追加された機能以外は、すべて翻訳されている上に、変な翻訳も修正されています。 これは有志の方が翻訳作業を爆速で進めてくださったおかげです! ありがとうございます! 次に、構造体変数の子を反復処理できるイベントの機能が追加された件です。 子の名前が連番でなくても取得できて便利です。 ただ、シーン変数だけにしか対応していないようなので、その点が残念です😥 Google Firebase への対応も、とても嬉しい機能追加です。 まだ試していませんが、Firebase Functions や Realtime Database を利用すればオンラインゲームなんかも作れるようになるので、夢が広がります😆 今回はかなり充実したバージョンアップだったと思いますが、なんと待望のタイルマップオブジェクトもリリース間近とのことです! 次回のバージョンアップも楽しみですね😊

GDevelop インストールと日本語化の手順

イメージ
 特に難しいことはないですが、いちおう書いておきますっていうか以下の動画をご覧ください。 GDevelop 日本語サイトはこちら 動画でも言っていますが、インストーラーを実行すると即インストールされます。 Windows の場合は C:\Users\[ユーザー名]\AppData\Local\Programs\gdevelop にインストールされるようです。 C:\Program Files の中ではないのでご注意ください。 さらに C:\Users\[ユーザー名]\AppData\Roaming\GDevelop 5 にも、なにやらファイル群が生成されますが、こちらは設定ファイルらしいです。(よく分かってない😅) なお、アンインストールは Windows の「設定」の「アプリと機能」からアンインストールできます。