投稿

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

GDevelop が約1.6億円の調達に成功した件について

イメージ
公式からは特になんのお知らせもないのですが、TechCrunch 及び TechCrunch Japan のニュースによると GDevelop が約1.6億円の調達に成功したとのことです。 プログラミング不要のゲームエンジン「GDevelop」が約1.6億円調達、ゲーム開発をより身近に 具体的にいつ資金提供を受けたのかは不明ですが、今年の 6 月に会社を設立すると発表してから、半年も経たずに資金調達に成功したことは、GDevelop の将来性が多くの投資家に認められたという事なのでしょうね。 (まあ、普通どうなのかは知りませんがw) GDevelop ユーザーにとっても、さらなる機能やサービスの追加が期待できる良いニュースだと思います。 私は、これまで(単なるオープンソースプロジェクトだった頃)は無償で貢献してきた人たちが、もはや完全に企業となった GDevelop のために、これまでどおり無償で貢献してくれるだろうか?と少し危惧していたのですが、そもそも貢献頻度上位の数名は既に社員になっているようなので、開発スピードやクオリティーはこれまでと大きく変わることはなさそうです😉(たぶん) あと、私のように好きで勝手に貢献してる人も少なくないと思いますしw🤤 これを機に開発チームの活動が、より活発になってくれれば嬉しいですね。 ところで、TechCrunch Japan の記事には、 開発者は、GDevelop独自の広告機能を使って広告を統合することを選ぶことができ、その場合、同社は広告収入の分配を受けることができる。 と書かれていますが……はて?🤔 現状の AdMob 機能にはそのような分配制度はないと思うのですが、将来的に追加される別の広告ネットワーク機能なのでしょうか? 念の為、英語の原文も確認してみましたが、日本語と同じような言い回しではないので、本当に分配について言及しているのか判断が難しいところです……(誰か英語に詳しい方~💦) この点、なにか詳しいことが分かりましたら、またお知らせしたいと思います。 GDevelop チームの Bouh さんが、この記事の内容は間違っていると教えてくれました。 The Japan translation is not correct. This is not true, It is an idea for the

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

イメージ
最近の公式は GDevelop のブランディングに力を入れている感じがありますね。 ロゴの背景色を濃い紫にしたり、デザインや見た目を気にするお年頃になったようです😆 あと細かいことですが、今なら Discord のサーバーアイコンがサンタ帽をかぶったりしていますよ🎅 今回のバージョンアップの内容も、ブランディングを意識した流れでおこなわれたのかもしれません。 💝 改善点 ・ホーム画面が一新されました。 テンプレート、チュートリアル、ショーケースが表示されるようになって、見栄えが良くなりました。 さらに、ゲーム(プロジェクト)の新規作成や、既存のゲームを開くためのボタンが追加されました。 あと、新しくゲームを作成すると同時に、プロジェクト名を設定できるようになったのですが、面白いことにデフォルトでは勝手に愉快な名称が付けられているので、本来の名称に変更しましょう😅 ・プレビューと公開ボタンの位置が変更されました。 上の画像の通り、なんか中央に配置されるようになりました。 慣れましょうw ・エクスポートの手順が全体的に改善されました。 最初にリンクの生成か、ストアへの公開か、手動ビルドかを選択する流れに変わりました。 「リンク生成(GENERATE LINK)」は、より手軽になって簡単に共有できるようになりました。 「ストアへの公開(PUBLISH ON STORES)」は、そこからさらに「WEB」「MOBILE」「DESKTOP」「INSTANT GAMES」へ分かれます。 MOBILE は、相変わらず Android 向けのみです。 INSTANT GAMES とは Facebook 上で遊べるゲーム形式です。 「手動ビルド(BUILD MANUALLY)」は、そこからさらに「WEB」「MOBILE」「DESKTOP」へ分かれます。 説明を読む限りストアの方の WEB と、こちらの WEB に違いがないように思うのですが、機会があったら実際に書き出してその違いを調べてみたいと思います。 ・レイヤーの表示・非表示の設定が分かりやすくなりました。 地味すぎて説明しづらい改善がおこなわれました😅 むしろ翻訳が反映されていないので分かりにくくなってすらいますw ・プロファイル画面にマイナーな改善がおこなわれました。 マイナーすぎて何が変わったのか分かりません😥

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

イメージ
めっちゃ私事ですが、このバージョンから貢献者のリストに私(PANDAKO)が追加されました🙌 やったねヽ(=´▽`=)ノ☆ さて、今回のバージョンアップは拡張機能の追加がメインっぽいです。 💝 改善点 ・エディター上のリストにアニメーションを追加しました。 はて?なんのことやら🤔、かと思いますが、クリックすると内容が下にスッて出てくるリスト型の UI がエディターの至るところで利用されてるじゃないですか。あれの開閉時にアニメーションするようになりましたよってだけです。言われても気が付かないレベルw ・P2P でカスタム ICE サーバーが利用できるようになりました。 P2P 機能自体が難しいので、ちょっと何言ってるのか分かりませんw Wiki が更新されることに期待です😅 ・シーン変数のカテゴリーが変更されました。 アクション/条件/式の編集画面で、シーン変数のカテゴリーが設けられました。 しかし困ったことに、翻訳が反映されていない関係で、現状は「変数」カテゴリーから外れてしまっている状態です。😢 早く翻訳が反映されることに期待です。 ⚙️ 拡張機能、🎨 リソース、🕹 サンプル 今回もたくさんの追加や更新がおこわれましたが、ここでは追加された拡張機能だけご紹介します。 ・「Idle object tracker」ビヘイビアを追加しました。 オブジェクトが一定時間移動しなかったかどうかをチェックする条件が利用できるようになります。(許容範囲も設定可能です) ・「WebSocket client」ビヘイビアを追加しました。 サーバーとの双方向通信を可能にします。 つまりオンラインゲームが作れるようになる拡張機能です! 実際に利用するには、別途 WebSocket サーバーを構築しないとダメなんですが、なんと GDevelop で WebSocket サーバーを構築できるようになる拡張機能が間もなく登場!とのことです😆 ・「Behavior Remapper」ビヘイビアを追加しました。 「プラットフォームキャラクター」ビヘイビアと「トップダウン移動」ビヘイビアの、デフォルトコントロールのキーを変更できるようにします。 🐛 バグの修正 今回もたくさん修正されましたので、気になる点だけピックアップです。 ・「オブジェクトを分離する」アクションの処理を改善しま

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

イメージ
今回は既存の機能の刷新も含まれていたためか、ベータ版を経由してからのリリースでした。 なので、改善点だけでも結構な量があります😅 個人的に重要そうな順に解説します。 💝 改善点 ・プラットフォーマーエンジン(「プラットフォームキャラクター」と「プラットフォーム」のビヘイビア)を刷新しました。 斜面や移動するプラットフォームに乗っているキャラクターを、より適切に処理できるようになりました。 もうエレベーターに乗せても、ピクピクしたりすることはありません👍 ・変数エディターを改善しました。 変数エディター内の下部にあるツールボタンが、常時表示されるようになり使いやすくなりました。 また、オブジェクト変数エディターは、オブジェクトエディター内に統合されました。 「ビヘイビア」タブの隣に「変数」タブが追加されて、アクセスしやすくなりました👍 ・オブジェクトのバウンディングボックスの値にアクセスできるようになりました。 バウンディングボックス(Bounding Box)とは、オブジェクトの大きさを表す見えない四角い箱 (矩形)のようなもののことです。  英語の説明とは裏腹に、衝突マスクとは関係ないので注意してください。 オブジェクトのバウンディングボックスの値(上部と下部の Y 座標、右側と左側の X 座標)を比較するための条件と、取得するための式が追加されています。 翻訳の関係で、今は「POSITION」の「Bounding Box」内にありますが、翻訳が反映されれば、「位置」の中に表示されるようになります。(なるはずです😅) ・オブジェクトが非表示、または画面外にある場合でもアニメーションを再生できるようにしました。 スプライトエディターに「高度な設定」というオプションが追加され、そこから設定できるようになりました。 通常は ON の「再生 しない 」です。 チェックを外すことで、画面外や非表示でもアニメーションが再生され続けます。 ・シーンエディターを改善しました。 ズームレベルに応じて、適切なスクロールスピードになるよう調整しました。 また、「エディターで位置と角度を固定する」を ON にしているオブジェクトも、選択できるようになりました。 固定しながらでも選択できるので、プロパティの変更などがやりやすくなります。 反面、後ろに隠れたインスタンスを選択したい

【GDevelop】Compressor 拡張機能の使い方

イメージ
Compressor 拡張機能は、文字列をZIP 圧縮した文字列に変換してくれる拡張機能です。 この拡張機能の活用例については「 セーブデータは暗号化しよう! 」をご覧ください。 拡張機能をインストールする方法については「 新しい拡張機能のインストールの仕方 」をご覧ください。 執筆時点のバージョンは 1.0.1 です。 関数 インストールすると文字列式(テキスト式)に次のような関数が追加されます。 それぞれの使い方をざっくり説明します。 Compress String 「String to compress」パラメーターに入力した文字列を ZIP 圧縮した文字列を返します。 なお、必ずしも元のデーターより軽くなるとは限りません。(特に文字列が短いほど効果は少なくなります) Decompress String  ZIP 圧縮された文字列を「String to decompress」パラメーターに入力すると、解凍して元の文字列を返します。

【GDevelop】セーブデータは暗号化しよう!

イメージ
GDevelop でセーブ機能を実装したいときは、多くの場合「ストレージ」機能を使うことになると思います。 このストレージ機能は、PC でもスマホでも、アプリでもブラウザ(HTML5)でも、ちゃんと機能してくれるのでとても重宝するのですが、実は簡単にセーブデータをいじれてしまうという弱点があります。 特に HTML5 ゲームがやばい GDevelop のストレージ機能はゲームが HTML5 で配信される場合は、Web Storage という機能を利用してデータを保存します。 しかし、この Web Storage はブラウザの標準機能で簡単に閲覧・書き換えができてしまいます。 Chrome ならデベロッパー ツール(DevTools) Edge なら開発者ツール(DevTools) Firefox なら開発ツール Safari なら Web インスペクタ つまりそれを知っているプレイヤーは、勝手にセーブデータを書き換えてズルができてしまうのです😥 そのため HTML5 で配信される、いわゆるブラウザゲームのほとんどは、Web Storage に保存するデータを暗号化しています。 (そもそも大事なデータは Web Storage ではなく、サーバー側に保存していたりしますが……) 実はセーブデータを暗号化してくれるゲームエンジンは意外と少なく、多くの場合、各自で独自の防衛策を講じる必要があります。 (国産ゲームエンジンはしてくれるの多いけど😉) 残念ながら今の GDevelop(v5.0.121)のストレージ機能にも、暗号化をしてくれる機能はありません。 そこでこのページでは、簡単にセーブデータを改竄(かいざん)されないようにするための、基本的な暗号化方法についてご紹介します。 なお、アプリで配信する場合も、セーブデータがどのように保存されているか私が知らないだけで、もしかしたら Web Storage 同様、簡単に操作できてしまう状態かもしれないので、HTML5 ゲームと同様に暗号化しておくことをお勧めします。 暗号化に利用できる拡張機能の紹介 そのものズバリな拡張機能はありませんが、組み合わせることでセーブデータを暗号化することができる拡張機能をご紹介します。 拡張機能をインストールする方法については「 新しい拡張機能のインストールの仕方 」をご覧ください。 ・

【GDevelop】Hash 拡張機能の使い方

イメージ
Hash 拡張機能は、文字列からハッシュ値を生成してくれる拡張機能です。 この拡張機能の活用例については「 セーブデータは暗号化しよう! 」をご覧ください。 拡張機能をインストールする方法については「 新しい拡張機能のインストールの仕方 」をご覧ください。 執筆時点のバージョンは 1.0.0 です。 ハッシュ値とは? ググッてくださいw🤤 一応ざっくり説明すると、ハッシュ値とはハッシュ関数を通すことで得られる、一定の長さの値のことです。 このハッシュ値には、同じデータからは必ず同じハッシュ値が得られ、さらにハッシュ値から元のデータを復元することはできないという特徴があります。 そのため、データが改竄(かいざん)されていないかのチェックに利用することができます。 関数 インストールすると、文字列式(テキスト式)で次のような関数が選択できるようになります。 それぞれの使い方をざっくり説明します。 Hash a String with MD5 MD5 というハッシュ関数を利用して、ハッシュ値を生成することができる関数です。 MD5 は既に脆弱性(弱点)が発見されていて、重要なデータ(パスワードなど)のチェックには使えなのですが、生成負荷が SHA-256 より低いので、それほど重要ではない大きなデータの完全性をチェックしたい場合には、利用を検討しても良いと思います。 なお、この拡張機能の MD5 関数は、一部の漢字や絵文字などを正しく処理できません。 そのため、元のデータが同じでも、他のシステムの MD5 関数で生成したハッシュ値とは、値が異なる場合があります。 ご注意ください。 Hash a String with SHA256 SHA-2 の SHA-256 という種類のハッシュ関数を利用して、ハッシュ値を生成することができる関数です。 重要なデータからハッシュ値を生成したい場合は、MD5 ではなくこちらを使うようにしましょう。 ただし困ったことに、この拡張機能の SHA-256 関数は、半角英数字と半角記号にしか対応していません。 つまり、日本語は正しく処理できません。 日本語などの対応していない文字が一文字でも入っていると、undefined という値を返します。 日本語を使いたい場合は? 日本語を含む文字列を、一度何らかの方法で半角英数字のみのデータ表記に変換

【GDevelop】Unicode (UnicodeConversion) 拡張機能の使い方

イメージ
Unicode (UnicodeConversion) 拡張機能は、文字列を数字(Unicode のコードポイント)に変えてくれる拡張機能です。 もちろんその逆、数字を文字列に戻すこともできます。 この拡張機能の活用例については「 セーブデータは暗号化しよう! 」をご覧ください。 拡張機能をインストールする方法については「 新しい拡張機能のインストールの仕方 」をご覧ください。 執筆時点のバージョンは 1.0.4 です。 関数 インストールすると、文字列式(テキスト式)で以下のような関数が選択できるようになります。 それぞれざっくりと説明すると…… Reverse the unicode of a string 文字列を数字化した上で反転して、また文字列に戻します。 例えば「abc」を渡すと「6&」が返されます。 これは「abc」を数字化して「61 62 63」とし、それを反転して「36 26 16」とし、そこから文字列化すると「6&」になるためです。 そのため、逆に「6&」を渡すと「abc」が返ってきます。 なお、一部の漢字や絵文字などは正しく処理できません。 確実に機能させたい場合は、半角英数字(記号含む)のみで利用しましょう。 String to unicode conversion 文字列を数字化します。(文字をコードポイントに変換します) ただし、 返される値 のデータ型は文字列(テキスト)である点に注意してください。 例えば "61,62,63" というような数字が書いてある文字列です。 この関数は、漢字や絵文字なども正しく処理できます。 Unicode to string 数字を文字列化します。(コードポイントを文字に変換します) ただし、 渡す値 のデータ型は文字列(テキスト)である点に注意してください。 例えば "61,62,63" というような数字が書いてある文字列です。 この関数は、漢字や絵文字なども正しく処理できます。 関数のパラメーターについて 少し専門的な知識が必要なパラメーターがあるので、簡単に説明します。 「Reverse the unicode of a string」のパラメーター 文字列を数字化した上で反転して、また文字列に戻す「Reverse the uni

【GDevelop】新しい拡張機能のインストールの仕方

イメージ
GDevelop は有志の方が作成した拡張機能で、機能を追加することができます。 ゲーム制作に役立つ便利な拡張機能が色々あるので、どんどん利用しましょう😆 このページでは、拡張機能をインストールする方法を3つご紹介します。 方法その1.プロジェクトマネージャーから検索してインストールする これが最も一般的な方法です。 プロジェクトマネージャーの「関数/ビヘイビア」内の「新しい拡張機能を検索する」から、必要な拡張機能を探してインストールすることができます。 インストールしたい拡張機能を選択すると、詳しい説明が表示されるので、その画面にある「プロジェクトにインストール」ボタンを押しましょう。 なお、分かりにくいですが、次の画像のように「再インストール/更新」という表示に変わったらインストール完了です。 「戻る」ボタンを押してゲーム制作を続けましょう😉 方法その2.オブジェクトにビヘイビアを追加する画面から検索してインストールする これは意外と知られていない方法です。 いつも、オブジェクトの編集画面の「ビヘイビア」タブから「+オブジェクトにビヘイビアを追加」ボタンを押してビヘイビアを追加していると思いますが、実はその画面からも拡張機能をインストールすることができます。 赤枠のタブを選択すると、新しいビヘイビアを検索して、インストールできる画面になります。分かりにくいですねw なお、「新しい ビヘイビア を検索」と書いてあるとおり、ここで選択できる拡張機能は、 そのオブジェクトに追加することが出来るビヘイビアを有しているもののみ 、に限られている点に注意してください。 方法その3.拡張機能のファイルをインポートする ここまでは、公式の審査を通過した拡張機能をインストールする方法でしたが、この方法は独自に作成した拡張機能など、「新しい拡張機能を検索する」リストには掲載されていない拡張機能をインストールする方法です。 まず、インストールしたい拡張機能のファイル(json形式)を用意します。 次に、プロジェクトマネージャーから「新しい拡張機能を検索する」画面を開き、「拡張機能をインポート」を押します。 するとファイル選択ウィンドウが表示されるので、そこで対象となる拡張機能のファイル(.json)を選択します。 これでインポートは完了です。 問題がなければ、拡張機能が利用できる

【GDevelop】そこそこ役立つ Developer Tools で出来ること

イメージ
GDevelop 自体が Electron で作られているため Chrome DevTools が利用できます!って言われてもナンノコッチャな方もいるかと思います🤔❓ まぁ「プレビューでデバッグに使える便利ツールが付いてるんだな」って覚えておけば OK です👍 このページでは、その便利ツール(Developer Tools)の使い方を ざっくり 紹介します。 ※ とても多機能なので GDevelop でよく使う機能だけの紹介です。 なお、似た機能に GDevelop 自体が提供する「デバッガー」がありますが、それとは別物です。 Developer Tools の開き方 プレビューウィンドウで、Windows なら「Ctrl + Shift + i」、Mac なら「Option + Command + i」というショートカットキーで、Developer Tools が表示されます。 GDevelop の環境設定で、プレビューウィンドウのメニューバーを非表示に していない のなら、メニューの「表示」内にある「Developer Tools を表示」から表示することもできます。 すると、こんな感じ↓のウィンドウが表示されます。 これが Developer Tools です。 あ、もしかしたらプレビューウィンドウにドッキングした状態で開かれるかもしれません。 別ウィンドウに分けたい、またはドッキング位置を変更したい場合は、次の画像が示すメニューから変更することができます。 ストレージ機能で保存されたデータを確認・編集する プレビューウィンドウに保存されているストレージの値は、Developer Tools で確認・編集することができます。 ストレージの値を確認する画面は「Application」タブの「Storage → Local Storage → file://」と選択することで表示されます。 「Value」列の項目をダブルクリック、またはコンテキストメニュー(右クリックメニュー)の「Edit "Value"」を選択することで、値を編集できます。 データを消したいときは、対象の行を選択して「✖」(Delete Selected)ボタンを押すとか、「Delete」キーを押すとか、コンテキストメニューから「Delete」を選択するとかすれば消せます

【GDevelop】セーブデータを JSON 化するとメリットしか無い件

イメージ
ハイスコアやプレイヤー名、所持品やストーリーの進行状況など、ゲームのデータを保存するためのセーブ機能は、昨今のゲームには必要不可欠なものです。 GDevelop にもデータを保存するために「ストレージ」という機能が用意されています。 このストレージ機能は、PC でもスマホでも、アプリでもブラウザ(HTML5)でも、ちゃんと機能してくれるという、とてもありがたい機能なのですが、書き込みと読み込みが数値とテキストにしか対応していないという、残念な一面もあります😥 構造体や配列、さらには真偽値も保存できたほうが絶対便利なのですが、残念ながら執筆時点(v5.0.121)では、そのような機能は用意されていません。 さらに、たくさん保存したいデータが有る場合、ひとつずつアクションを組まなければいけないのも手間です。 しかし、JSON というデータ形式を利用すれば、これらの問題を一気に解決することができます! 😆 JSON ってなに? JSON の詳しい説明は割愛します。ググってくださいw🤤 ちなみに読み方はジェイソンです。 一応、超ざっくりに説明すると JavaScript と互換性のあるテキストデータフォーマットのことです。 ↓こんなふうに書くことができます。  {"名前":"パンダコ", "Lv":3,"アイテム":["やくそう","賢者の石"]} ちなみに GDevelop のプロジェクトデータ(game.json)も JSON で保存されてますね。 なんで JSON を使うの? JSON なら GDevelop の構造体も配列も真偽値も表現することができます。 さらに上記の通り、JSON はテキストデータです。 つまり GDevelop の どんな変数でも、「テキストを書き込む」アクションで保存することができます 👏 どうやって JSON で保存するの? それでは具体的に、どのようにイベントを組めば良いのかご説明します。 この例では次のようなシーン変数があり、これを保存したいと思います。 色々なデータを「セーブデータ」という構造体の変数に、まとめている点がポイントです。 ひとつの変数にまとめることで、1回のアクションで必要なデータ全てを保存でき

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

イメージ
前回(v5.0.120)で、起動時にログアウトしている問題は解決したと言ったな、あれは嘘だ。 ( ・`ω・´)キリッ✨ ということで、今回のアップデートで直ることを期待していたのですが、まだ直っていませんw (開発チームも、このことは把握しています) まぁそれほど困ることではないけど、起動したら一度マイプロファイルを開くことで、ログインします。 オンラインサービスをよく利用する人は、注意してください。 💝 改善点 ・デバッガーにコンソールを追加しました。 これまでは Developer Tools で確認する必要のあったログメッセージなどを、デバッガー上で確認できるようになりました。 デバッガー画面の右上に「コンソールを開く」ボタンが追加され、そこから開くことができます。 コンソールでは、アクションや Javascript、またはゲームエンジンから送信された内部メッセージを確認することができます。 これに伴い、「コンソールにログを記録する」アクションが追加されました。 これはゲームの問題を見付けたりする時に便利ですが、詳しい使い方については、また別の投稿で……😅 ・外部レイアウトのシーン選択とヘルプテキストを改善しました。 地味に親切になりました😅 あと、日本語訳が変だった「外部レイアウトからオブジェクトを作成」アクションの翻訳も改善しました。私がw ・式を入力するときのオートコンプリートを改善しました。 具体的に何が変わったか分かりませんが、なんか説明が表示されるようになった点とかだと思います。たぶん🤤 ・パラメーターだけではなく、イベントの文章も検索できるようになりました。 え?全然できないじゃん……🤔 とか思っていたら、実は検索モードを変更する必要がありました。 くっそ分かりにくいですが、上記画像の赤枠部分がボタンになっていて、選択することで文章の検索ができるモードに変更できます。 画像のように、日本語でもイベントの文章中に登場する文言を検索することができます。(この例では「リセット」を検索) ・検索結果と現在フォーカスされている結果の強調表示を改善しました。 紫色にハイライトされて、より分かりやすくなりました。 ・文字列のアクションと条件で実際に使用できる演算子のみを表示するようにしました。 条件では「=(と等しい)」と「≠(と等しくない)」のみ、

【GDevelop】「オブジェクトを生成する」アクションだけが持つ唯一の例外について

イメージ
「オブジェクトを生成する」アクションには、他のアクションには無い、次のような特徴があります。 それは、 「オブジェクトを生成する」アクションは、生成するオブジェクトが同じイベント内で既に参照されていたかどうかで、生成後の絞り込みが変化する。 です! は?🤔 はい、文字だけだと意味不明ですよね。 分かりやすい例を用意したので、それで説明します。 ↓次のイベントでは、1秒毎に Tank_A と Tank_B を生成しています。 ただし、Tank_A と Tank_B は、生成する前に参照されたかされていないかの違いがあります。 具体的には赤線の箇所で、Tank_A の方はその数を調べるために Count() で Tank_A を参照しています。 対して Tank_B の方は参照していません。 それ以外の、対象を移動させるアクションなどは同じです。(出現位置は違いますが……) 一見すると、Tank_A と Tank_B は同じように生成されて移動する結果になると思われがちですが、実際には違います。 このイベントの結果が、これです↓ 明らかに、Tank_A と Tank_B の進み方に違いがあります。 Tank_A の方は加速しているのに対して、Tank_B は等速で移動しています。 この謎を解く鍵は、表示されている After の値です。 この After の値は、イベントで対象となっているオブジェクト(インスタンス)の数です。 Tank_A は After の値が 5 なのに対し、Tank_B は 1 です。 つまり、Tank_A のイベントでは 生成済みの Tank_A もアクションの対象 となっているのに対し、 Tank_B では生成したばかりの Tank_B ひとつだけが対象 となっていることが分かります。 そのため Tank_A は移動させるアクションが生成済みの Tank_A に対しても実行され、どんどん加速していく結果になります。 対して Tank_B は、それが生成された時だけ、移動させるアクションの対象となるため、ずっと同じ速度で移動しています。 このように 「オブジェクトを生成する」アクションは、生成するオブジェクトが同じイベント内で既に参照されていたかどうかで、生成後の絞り込みが変化する。 という、ちょっと意味不明な特徴があります。 通常、絞り込み

【GDevelop】「オブジェクトを削除する」アクションの知っておくべき特性

イメージ
あらゆるゲームと状況下で多用されるであろう、「オブジェクトを削除する」アクションですが、実は他のアクションとは少し違った特性があり、知らないとアレレ?ってことになるので、その点について解説します。 ※ イベントってなに?アクションってなに?という方は、先に「 GDevelop の条件とかアクションって何?どれのこと? 」をご覧ください。 実は即削除していない これはどういうことかというと、 「オブジェクトを削除する」アクションが実行されたイベントが終わるまで対象のオブジェクトは削除されていない 、ということです。 具体的な例を挙げて説明しましょう。 ↓これは、GreenTank が ひとつ 配置されているだけのシーンです。 そしてそのシーンのイベントは次のようになっています。 では、このシーンをプレビューして、シーンをクリックすると、背景色は何色になるでしょうか? 一見すると(というか普通のプログラミング的に考えれば)、最初に削除アクションを実行しているので、GreenTank の角度も変わることなく、さらにオブジェクトの数も 0 になっているので、背景色は赤(255;0;0)になりそうなものですが、実際にはなんと青色(0;0;255)になります。 そして背景が赤くなるのは、2回目のクリックからです。 普通、アクションは実行したとたん効果を発揮しますが、上記のことから「オブジェクトを削除する」アクションは、即座に対象を削除するアクションではないことが分かります。 (角度を 90 度にしているアクションは、即座に効果を発揮し、続く条件で真(True)と、評価されている点も見逃さないでください) では、どのタイミングで削除されるのかと言うと、それは 「オブジェクトを削除する」アクションを実行したイベントが終わった時 です。 例えば次のように、削除アクションを別のサブイベント(赤矢印)に分ければ……↓ 削除アクションを実行したイベントが終わってから、オブジェクトの数をチェックしているので、結果は 0 個の真(True)となり、背景色は赤色となります。 続く角度をチェックしている条件では、既に対象が存在していないので偽(False)となり、背景を青にするアクションは実行されません。 このように組むことで、最初の例とは異なる結果になります。 なお、最初の例を見ると分かるように

ついに正式版 GDevelop v5.0.120 がリリースされました。

イメージ
正式版というか、ただ beta の表記がなくなっただけではありますが、それでもついに本格始動という雰囲気になってきました!😆 印象が決まる beta 明け最初のリリースだからでしょうか。 今回は地味な安定化が主な更新内容です。 beta119 には困ったバグが多いので、すみやかにバージョンアップしましょう😅 💝 改善点 ・テキストオブジェクトに「FontSize()」式を追加しました。 テキストオブジェクトのフォントサイズを、式で取得できるようになりました。ってか今まで出来なかったんかいw ・プロファイルをいろいろ改善しました。 マイ プロファイルで簡単なプロファイル(自己紹介文)が入力できるようになりました。 メールアドレスの認証と変更機能が追加されました。 拡張機能とサンプルの一覧画面で、寄稿者のバッジをクリックすることで、そのユーザーのプロファイルを見ることができるようになりました。 存在しないユーザー名では、プロジェクトや拡張機能を保存できないようになりました。 ⚙️ 拡張機能、🎨 リソース、🕹 サンプル プロファイル関係の手直しがいくつか入ったようですが、そのあたりは割愛。 ・リンクオブジェクト機能と経路探索ビヘイビアを合わせて使用した時に、経路探索がうまく動作しない問題を解決しました。 どんな問題だったのか知らないので、何がどう改善されたのかわかりませんが、多分こういうことだと思うw 🐛 バグの修正 ・オブジェクトまたはビヘイビアで、式のパラメータダイアログが開かない問題を修正しました。 なんかシレッと書いてありましたが、これはかなりヤバいバグだったので、もっと大々的に告知して、早く修正バージョンを出すべきだったのでは?と思いました。 beta119 を使用している方は、すみやかにバージョンアップしましょう。 ・一貫性を保つために、「空のゲーム」という表記を「空のプロジェクト」に修正しました。 おかげで翻訳し直しでしたw しかもインストール版のみ、その翻訳が反映されていないように見えます😢 ・すごく長いオブジェクト名がはみ出たり、一部のダイアログを台無しにしたりする問題を修正しました。 ・リソースセレクターで、リソース名が長い場合のアイコン配置とテキストの省略記号を修正しました。 そもそもリソースセレクターとはなんぞや🤤 ・GDevelo

このブログの人気の投稿

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

GDevelop Wiki がリニューアル!

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