問題タブ [angelscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - エンジェルスクリプトのコンパイルエラーの使用
gcc 4.7.1を使用してangelscript 2.25.1を使用しようとしています
エンジェルスクリプトを問題なくコンパイルしました。
ただし、angelscript を使用するプロジェクトをコンパイルしようとすると、次のエラーが発生します。
したがって、基本的に、(コンパイラだと思います)GetFunctionIdByDecl
で関数を見つけることができませんasIScriptModule
。私はそれがそこにあるはずだと確信しています。
また、lin 242 のコードは次のとおりです。
wherefunction
は以前に a として宣言されてchar*
おりmod
、タイプはasIScriptModule *mod
です。
これは gcc 4.7.1 の問題かもしれないと思っていましたが、よくわかりません。
c++ - エンジェルスクリプト asSMethodPtr の作成 (asMETHOD マクロなし)
クラス/メソッド情報を Angelscript に渡すために asMETHOD マクロに依存しない、Angelscript が発生するより動的なワークフローを取得しようとしています。
しかし、私はこれまでのところそれを機能させることができません。
ここに私が定義したいくつかの構造体があります(クラスとメソッドのデータをセットアップするために使用します):
asSMethodPtr
後で、以前に作成した Class 構造体オブジェクトを使用して構造体オブジェクトを作成しようとします。これが私がすることです:
残念ながら、これにより次のエラーが発生します。
誰にもアイデアはありますか?この asSMethodPtr 構造体が私の C++ 能力の限界を押し上げているのではないかと心配しています...
c++ - この C++ テンプレート関数は何をしているのですか
AngelScriptの周りに薄いラッパーを書き込もうとしています。特定の構造体をラップする方法がわかりません。
ラップしたい構造体の構造体定義は次のasSMethodPtr
とおりです。
の定義は次のasSFuncPtr
とおりです。
これが私が見つけた(AngelBinderライブラリから取得した)コードで、それを「ラップ」することができます:
残念ながら、このコードが何をしているのかわかりません...
何T::*
をすべきですか?クラス型へのポインタ?
とはR (T::*func)()
?
助けていただければ幸いです...
c++ - c++ 埋め込みテンプレート テンプレート
AngelScript メソッドを「ラップ」するクラスがあります。基本的に、クラス、メソッドの戻り値の型、メソッドへのポインター、および引数のリストを送信します。
Method
これまでのところ、パラメーターを取らないクラス メソッドを「バインド」しているときに、このオブジェクトを正常に作成できました。ただし、パラメーターを追加しようとすると、壊れます。
私はこのようなことをしています:
そして、私のMethod
オブジェクトを次のように作成します:
これは機能します。
ただし、次のようなメソッド オブジェクトを作成しようとすると:
次のメッセージで壊れます。
パラメーターを持たない関数へのポインターを渡しているので、これは理にかなっています。
Method
では、さまざまな数のパラメーターを持つクラス メソッドへのメソッド ポインターを受け入れるようにクラスを変更するにはどうすればよいでしょうか。
私はこのようなことをしますか:
それを行うと、あらゆる種類のエラーが発生するため..
基本的に、私は尋ねていると思います-テンプレートテンプレート内に可変個引数テンプレートを「埋め込む」にはどうすればよいですか? これは可能ですか?
c - Angelscript の間違った型変換
私は現在、公式ウェブサイトの例に従って、簡単なコードでエンジェルスクリプトを使用しようとしています。
しかし、スクリプトで以下のような double 変数を初期化しようとすると:
変数 x は値 0 で初期化されているようです。
double x=1/2.0; と書いた場合にのみ機能します。または double x=1.0/2;
スクリプトにコードを追加せずに double x=1/2 と入力すると、angelscript を倍精度で動作させる方法はありますか?
ありがとうございました、
c++ - Angelscript - ',' または ')' が必要です
そのため、Angelscript は、処理できる機能とかなり矛盾しているように見えます。私はこうしてグローバル関数を宣言しようとしています:
私の sin コールバック関数 (オーバーロードされていることを気にせずに sin 関数を呼び出すためのもの) は次のようになります。
スクリプトをコンパイルするたびに、具体的には次のようなエラーが発生します。
ドキュメントとヘッダー ファイルを確認すると、このエラー コードは無効な構文に関連しています。ただし、関数宣言の構文は確実に有効である必要があります。誰にもアイデアはありますか?
c++ - Angelscript - RegisterScriptArray が失敗する
AngelScript テストを実行しようとしていますが、呼び出しにRegisterScriptArray()
失敗します
コードは次のとおりです。
私は何をすべきか?呼び出しをコメントアウトすると機能しますが、配列が必要なため、アーカイブしたいものではないことは明らかです
c++ - AngelScript ソース コードの保護
数か月前、私は自分のエンジンに AngelScript を追加することを考えていました。
今、私が心配していることの 1 つは、ユーザーのソース コードを保護することです。実際、私が AngelScript を使用するのは、ゲーム エンジンを moddable にするためです (実際には、AngelScript を使用して作成するゲームを moddable にするためです)。しかし、たとえ私がオープン ソースの愛好家であっても、最終的な商用製品を保護する必要があるため、スクリプト ソースを保護する必要があります。また、モッダーの中には、コードを保護することを好む人もいます。
問題は、どうすればそれを行うことができるかということです。暗号化イディオム?AngelScript バイトコード? 制約の 1 つは、実装が見えなくても、生成されたすべてのコードが再利用可能であることです。
暗号化は私の最初のアイデアなので、それを使用するようにアドバイスされている場合、使用するより良いタイプの暗号化 (秘密鍵/公開鍵、暗号化アルゴリズム...) はありますか?
ご回答ありがとうございます。