Library)を使わないのですかなぜGodotは例外処理を使わないのですか?GodotがRTTI(実行時型情報)を強制しないのはなぜですか?GodotがユーザーにDoD(データ指向設計)の実装を強制しないのはなぜですか?Godotの開発をサポートしたり、貢献したりするにはどうすればいいですか?誰がGodotで働いていますか。exampleで示されている情報の上に基づいているので、最初にそれを読むことを強くお勧めします。++を使用してGodotでノードを「拡張」するためのより良い方法を提供します。1.1の追加機能が導入されました。これらの変更は現在masterブランチにマージされており、今後の方法になります。1.0構文を使用する必要があります。この記事ではそれらを並べて示します。ダウンロードできます。コンパイルも参照してください。ビルドツールは、ソースからGodotをコンパイルするために必要なツールと同じです。これらのリポジトリをGitHubからダウンロードすることも、Gitに作業を任せることができます。これらのリポジトリには、Godotのバージョンごとに異なるブランチがあることに注意してください。Godotの以前のバージョン用に書かれたGDNativeモジュールは、(3.0と3.1の間のARVRインターフェースの1つの重大な変更を除いて)新しいバージョンでも機能します。生成に使用するGodotのバージョンが最小のバージョンになることに注意してください。--initリポジトリを単にダウンロードするか、プロジェクトフォルダに複製する場合は、フォルダのレイアウトをここで説明したものと同じにしてください。ここで紹介するコードの多くは、プロジェクトがこのレイアウトに従うことを前提としています。含まれるようになりました。この方法で行う必要はありませんが、管理するのが最も簡単であることがわかりました。リポジトリをダウンロードするだけの場合、またはリポジトリをフォルダに複製するだけの場合は、ここで紹介するコードの多くがプロジェクトにこのレイアウトを持つことを前提としているので、フォルダレイアウトは、ここで設定したのと同じものにしておいてください。概要で指定したリンクからサンプルを複製した場合、サブモジュールは自動的に初期化されません。次のコマンドを実行する必要があります。--recursiveこれにより、これら2つのリポジトリがプロジェクトフォルダに複製されます。++バインディングを作成します。リポジトリには、現在のGodotリリースのメタデータのコピーが含まれていますが、新しいバージョンのGodot用にこれらのバインディングをビルドする必要がある場合は、単にGodot実行可能ファイルを呼び出すだけです。以下のsconsコマンドに追加します。..この手順にはしばらく時間がかかります。コンパイルされた静的ライブラリが格納されているはずです。将来のある時点で、コンパイル済みのバイナリが利用可能になり、この手順は省略可能になります。追加する必要がある場合があります。我々は自動検出の改善に引き続き取り組んでいます。次に、実際のプラグインを作成します。空のGodotプロジェクトを作成し、そこにいくつかのファイルを配置します。Godotを開き、新しいプロジェクトを作成します。いう名前のフォルダを配置します。それについては後で説明します。いうサブフォルダも作成します。ディレクトリが含まれるはずです。src``フォルダ内に作成することから始めます。delta);};}#endif上記にはいくつかの注意事項があります。``Sprite.hpp``を含めます。このクラスが作成するモジュールで拡張されます。クラスを通じてSpriteから継承するクラス定義を作成します。これについては、後でいくつかの副作用が表示されます。マクロはいくつかの内部的なものをセットアップします。いう単一のメンバー変数を宣言します。メソッドを定義する次のブロックでは、明示的にコンストラクタとデストラクタが定義されています。その他の関数のうち2つのは見慣れたものですが、新しいメソッドが1つあります。これはGodotがNativeScriptで呼び出すことができるメソッドと、それが公開するプロパティを調べるために呼び出す静的関数です。関数とまったく同じように機能します。コードを配置しなくても存在する必要があります。owner->set_position(new_position);}これは簡単なはずです。ヘッダーファイルで定義したクラスの各メソッドを実装しています。メソッドを公開する必要があることに注意してください。ないと、Godotはそれを使用できなくなります。関数についてGodotに伝える必要はありません。これは、経過時間を追跡し、単純にサイン関数とコサイン関数を使用して、スプライトの新しい位置を計算するだけです。これは、クラスがコンテナクラスであるためです。スクリプトが関連する実際のSpriteノードを指します。呼び出すことができます。gdlibrary.cpp``という名前を付けます。実装したように、それぞれに独自のヘッダーとソースファイルがあります。今必要なのは、GDNativeプラグイン内のすべてのNativeScriptについてGodotに伝える小さなコードです。いう名前空間を使用していないことに注意してください。関数は、Godotがプラグインをロードするときとアンロードするときにそれぞれ呼び出されます。ここで行っているのは、バインディングモジュールの関数を解析してそれらを初期化することだけですが、必要に応じてより多くのことを設定する必要がある場合があります。godot_nativescript_init``と呼ばれる3番目の関数です。通常の処理を行うバインディングライブラリの関数を呼び出します。ファイルを手で簡単に書くことはできません。以降のチュートリアルでは、これらのビルドファイルの使用方法について、よりカスタマイズ可能で詳細な例を取り上げます。マスターで使用するために作成されました。ファイルを参照する必要があります。内でモジュールを見つけることができるはずです。ライブラリの両方を、デバッグビルドとしてコンパイルしました。スイッチを使用してコンパイルする必要があります。2つのファイルを作成する必要があります。どちらもGodotエディタを使用して作成できますが、直接作成する方が高速な場合があります。セクションが含まれています。残すべきプレフィックスセクションも含まれています。これを変更する場合は、エントリポイントとして使用されるさまざまな関数の名前を変更する必要があります。これは、動的ライブラリをデプロイできないiPhoneプラットフォーム用に追加されましたが、GDNativeモジュールは静的にリンクされています。サポートされている各プラットフォームのプロジェクトのファイルシステム内の動的ライブラリの場所をGodotに指示します。プロジェクトをエクスポートするときにそのファイルだけがエクスポートされるため、データパックにはターゲットプラットフォームと互換性のないライブラリは含まれません。最後に、``dependencies``(依存関係)セクションでは、組み込みを許可する必要がある追加の動的ライブラリの名前を記載します。これは、GDNativeプラグインが他のユーザーのライブラリを実装し、サードパーティの動的ライブラリをプロジェクトに提供する必要がある場合に重要です。ファイルをダブルクリックすると、さらに多くのオプションを設定できます:作成する必要がある2番目のファイルは、プラグインに追加した各NativeScriptで使用されるファイルです。``gdexample.gdns``という名前を付けます。)これは標準のGodotリソースです。シーンで直接作成することもできますが、ファイルに保存すると、他の場所で再利用するのがはるかに簡単になります。