拡張機能ベストプラクティス
これはコミュニティで共有できる、使いやすい拡張機能を作るためのガイドラインです。
イベントと命名
- シーン変数には接頭辞
__YourExtensionName_
を前置します。いずれ拡張機能に対する変数のスコープが追加されるかもしれませんが、今のところは他の拡張機能の変数と衝突しないように注意する必要があります。変数名を長くして、拡張機能名を含む接頭辞をつけると、他の拡張機能やそのユーザーによってオーバーライドされる危険性を最小限にとどめることができます。 - アクション、条件、式の名前にはパスカルケース(
PascalCase
のように、単語の先頭をすべて大文字にして連結したもの)を使うこと。- 式に関しては、
Get
を前置しないこと。なぜなら、すべての式は暗黙理に getter と決まっているので、わざわざ明示する意味がありません。たとえばGetHealth
ではなくHealth
に、GetPlayerBestScore
ではなくPlayerBestScore
という名前にします。
- 式に関しては、
説明
説明はすべて英文で書くようにしてください。略称は使わないでください。イベントシートに表示されるアクションや条件は明快な文にしてください。
- アクションと条件の文は、常に肯定形にしてください。たとえば条件を_「カメラは振動しているか?」と名付けてはいけません。代わりに「カメラは振動している」_にしてください。条件は何かについての検査なので、それが「疑問」であることは自明です。
- 条件の説明に「…の場合は真を返します」のようには決して書かないでください。これはあまりにもプログラマー向けすぎます。代わりに GDevelop ではもっと一般的な表現として「…かどうかをチェックします」を使います。たとえば「レースが終了したかチェックします。」のような感じです。
- 拡張機能の長い説明は、Markdown 記法でリストにしたり、式名を逆引用符(`)で括って等幅フォントで表示されるようにして、読みやすさに配慮してください。
ビヘイビア
- ビヘイビアについては、その使い方を説明してください(オブジェクトの要件を含む)。
- ビヘイビアのプロパティについて。
- 真偽値の場合は、真の場合に実行することを説明に使ってください。「もし真であれば、パワーアップを有効化します」とは決して書かないでください。代わりに「パワーアップを有効化します」とだけ書きます。
互換性
- 拡張機能が OS やプラットフォーム依存の機能を使用している場合は、GDevelop が対応するすべてのプラットフォームでそれが正常に動作することを確認してください。対象は Web ブラウザー、デスクトップ(少なくとも Windows、macOS、Linux にエクスポートして確認)、Android(エクスポートして確認)です。
JavaScript
JavaScript コードイベントを使って JavaScript を書けます。ある関数を GDevelop の複数のアクション/条件/式に使いたい場合は、グローバルの gdjs
オブジェクト内に、拡張機能と同じ名前の名前空間
を作成し、そこに関数を格納してください。たとえば、ある拡張機能の機能がコントローラーに依存する場合は、次のようにします。
gdjs._extensionController = {};
gdjs._extensionController.myMethod = function (arguments) {
// ...
}