投稿

1月, 2021の投稿を表示しています

【GDevelop】2段ジャンプできるようにする【プラットフォームキャラクタービヘイビア】

イメージ
GDevelop の「プラットフォームキャラクター」ビヘイビアを利用しているゲームで、2 段ジャンプをできるようにする方法を紹介します。 そもそもの「プラットフォームキャラクター」ビヘイビアを利用したゲームの作成方法は、チュートリアルなどを見てください🧐 動画で見るプラットフォーマーチュートリアル GDevelop Wiki プラットフォーマー チュートリアル このページでは、プラットフォーマーチュートリアルで作ったゲームをベースに、解説していきます。 なお、作成手順が見れる動画もあるので参考にしてください。 1. キャラクターに変数を追加する まずは「プラットフォームキャラクター」ビヘイビアを追加したオブジェクトに、空中でジャンプした回数を記憶するオブジェクト変数「ジャンプ回数」を作成します。 初期値は 0 にしておきましょう。 2. イベントを追加する 次に、2 段ジャンプを実現するために、以下のように 2 つ(2行)のイベントを追加します。 それだけで、2 段ジャンプができるようになります🎉 この画像のようにイベントのグループ機能を使うと、見やすくなるのでおすすめです。 なお、ここではイベントを先頭に追加していますが、ゲームによっては適切な位置に追加しなければ、正しく機能しないかもしれないので気を付けてください。 2 つのイベントと、その条件とアクションについては、以下で詳しく解説します。 解説:1 つめのイベントについて まずは 1 つめのイベントの条件について説明します。 このイベントは、2 段ジャンプを実行するためのイベントです。 条件「Player は落下中である」について これは、ジャンプの頂点を過ぎ、落下し始めてから 2 段目のジャンプができるようにするための条件です。 また、ジャンプではなく、足場から落ちたときにも有効(True)です。 なお、これを「Player はジャンプ中である」にしてしまうと、最初(地上から)のジャンプをした直後に条件をクリアーしてしまい、即 2 段目のジャンプが実行されてしまいます。 結果、まるで 2 段ジャンプが機能していないかのように見えてしまいます😱 条件「Space キーを押している」について Space(スペース)キーは、このゲームのジャンプキーです。 もちろん、違うキーをジャンプキーにしている場合は、こ

【GDevelop】動画で見るプラットフォーマーチュートリアル

イメージ
基礎中の基礎、という感じのプラットフォーマーチュートリアルをやってみました。 GDevelop Wiki プラットフォーマー チュートリアル 10分くらいで終わるかと思ったらガッツリ1時間かかりました😅 その様子を動画にしたので、何かうまくいかないことや、分からないこととかあったら参考にしてみてください。 ダウンロードできる敵の画像が、チュートリアルで使用されている画像とは左右逆なため、チュートリアルどおりでは、後ろ向きに進んでしまう問題にも対応しています。 なお、動画は2倍速にしていますが、それでも当然30分ほどありますw

GDevelop でサクッと条件やアクションを追加する方法

イメージ
地味な機能であまり知られていませんが、イベントの「条件を追加」や「アクションを追加」を 右クリック すると、コンパクトなウィンドウで条件やアクションを追加することができます。 この機能では、プロパティを設定する画面はスキップされるので、プロパティ設定が必要のない条件やアクション(例えば「シーンが始まった」や「オブジェクトを削除する」など)を追加したい時は特に便利です。 お試しあれ😉

ブラウザ上で動く GDevelop オンライン版を試してみた感想

イメージ
[2023年03月23日更新] [2022年10月09日更新] [2021年11月29日更新] v5.0.140 から GDevelop アカウントがあれば、ゲームをクラウドに保存できるようになりました。 これにより、充分実用的なレベルに達したと思います! あくまでも「オンライン版はお試し用」という位置付けだとは思いますが、どこまでできるのか調べてみました。 ちなみにブラウザ上で動くなら、スマホでも使えるのではないかと思い、無謀にもスマホのみでゲーム制作にチャレンジしてみた動画はこちらですw 2021年1月バージョン↓ さらに、2021年11月にも再チャレンジ↓ かなり根気は必要ですが、作れなくはないなと感じました。 スマホだけでアプリ化まで出来てしまうゲーム制作ツールは、なかなか無いと思います👍 でもせめて、タブレットくらい画面が大きくないと、やっぱツラいですね😅 GDevelop オンライン版ではできないこと 数は意外と少ないのですが、致命的な事も少なくありません😥 その1. オリジナルの画像やサウンドなどが利用できない 2022年9月のバージョンアップ(v5.0.143)で、ファイルのアップロードにも対応しました。 これにより オリジナルの画像やサウンドが利用可能になり、この問題は完全に解決されました 👏 なお、下記の URL 指定の方法も引き続き利用可能です。 2021年11月のバージョンアップ(v5.0.122)で、URL でファイルを指定できるようになりました。 つまり、自分の Web サーバーにアップしたファイルを利用できるようになった……のですが、残念ながら CORS 対応は Web サーバー側、つまり自分でおこなう必要があります。 設定にはサーバーの知識が必要で、設定できないレンタルサーバーも少なくありません。 なのであまりお手軽に利用できる機能では無いと思います😢 最近はアセットストアも充実してきたので、普通にそちらを利用したほうが良いです。 これはキツイw 利用できるのは Asset Store にあるものだけです。 (スターターを利用すれば既存のリソースは利用できます) リソース画面で無理やりパスを書き換えることはできますが、プレビューすると CORS で表示されないっぽいです。 その2. 外部アプリが利用できない 2023年1月の

GDevelop の新しいアクション/条件エディターを使用する

イメージ
GDevelop を最近インストールした方は、最初から新しいアクション/条件エディターになっていると思いますが、かなり昔から使用している人は、アップデートしても古いモードが引き継がれるので「あれ?みんなのエディターなんか違くない?」とか思いがちです😅 ↓これが新しいアクション/条件エディターです。 ↓そんでこっちが古いアクション/条件エディターです。 正直、どちらが使いやすいかは人によると思います。 ただ、古い方はいつか廃止されてしまうかもしれないので、今のうちに新しい方に慣れたほうが良さそうです。 変更は「ファイル」メニューの「環境設定」からおこなえます。 ↑このスイッチを ON / OFF して切り替えられます。 全くその必要はないと思いますが、一連の操作を動画にしたので、ご覧になりたい方はこちらをどーぞ🤗 前半は英語で、後半は日本語という謎動画ですw

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

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

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

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

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

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

GDevelop でテキストを改行する方法

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

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

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

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

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

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

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

GDevelop でのプレビューを特定のシーンから開始するように設定する方法

イメージ
プレビューボタンを押すと、編集中のシーンからスタートしますが、それではうまく動作しない構造になっている場合は、特定のシーンからスタートするように設定すると便利です。 設定の仕方は、プレビュー起動ボタンを右クリックして「プレビューはすべて、このシーンから開始する」を選択すれば OK です。 ただし、これはプロジェクトを開くたびに設定する必要があります。

GDevelop の「イベント」を正しく理解しよう

イメージ
特にプログラミング経験者がおちいりやすい罠なのですが、GDevelop の「イベント」は「if文」(条件分岐)ではありません。 このことは公式 Wiki でもサラッとしか説明されていないため、誤解したままイベントを if 文と同じように利用してしまうと、その独特な挙動に悩まされることになります。 ゲーム作りの基本コンセプト:GDevelop を使うために知っておきたいこと「イベントとそれがいかにしてオブジェクトを選択するか」 確かにイベントは if 文と同じ役割を果たす面もありますが、イベントの役割はそれだけではなく、 対象のオブジェクト(インスタンス)を絞り込み 、その上で絞り込まれたインスタンスに対し 一括でアクションを実行する事ができる 、という特徴があります。 例えば、次の画像のようなシーンで、ミサイルが当たっている戦車のみ削除したい場合は…… 次の画像のようなイベントを設定するだけで、ミサイルが当たっている戦車のみ削除することができます。 これは、イベントの条件で「ミサイルに衝突している戦車」のみにインスタンスが絞られたため、そのイベントのアクションで戦車を削除すると、ミサイルと衝突している戦車だけが削除されるという仕組みです。 このような特徴により、わざわざ次の画像のようにインスタンスをひとつずつ参照して、衝突しているか確認するようなイベントの組み方をする必要はありません。 (希望通りの動作はしますが、イベントの仕組みを正しく理解していない組み方です) さらに、この絞り込まれたインスタンスは、サブイベントにも引き継がれます。 例えば次の画像のように、それぞれの戦車にインスタンス変数を持たせて、異なる番号を割り当てたシーンならば…… 次の画像のようなイベントにすることで、ミサイルとの衝突時に戦車を ID ごとに異なるアニメーションに変化させることができます。 これは、最初のイベントでミサイルと衝突している戦車のみに絞り込み、更にサブイベントで ID が一致する戦車のみに絞り込むことで、それぞれ異なるアクションが実行される仕組みです。 なお、条件に該当するオブジェクトがない場合は、そのイベントのアクションは実行されません。 では、これまでの例とは異なり「戦車のどれか1輌にでもミサイルが当たったら、3輌全て消す」には、どうしたら良いかというと…… 上の画像のよ

このブログの人気の投稿

GDevelop の「イベント」を正しく理解しよう

GDevelop 5.0.138 がリリースされました。

GDevelop Wiki がリニューアル!