問題タブ [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.

0 投票する
1 に答える
451 参照

c++ - エンジェルスクリプトのコンパイルエラーの使用

gcc 4.7.1を使用してangelscript 2.25.1を使用しようとしています

エンジェルスクリプトを問題なくコンパイルしました。

ただし、angelscript を使用するプロジェクトをコンパイルしようとすると、次のエラーが発生します。

したがって、基本的に、(コンパイラだと思います)GetFunctionIdByDeclで関数を見つけることができませんasIScriptModule。私はそれがそこにあるはずだと確信しています。

また、lin 242 のコードは次のとおりです。

wherefunctionは以前に a として宣言されてchar*おりmod、タイプはasIScriptModule *modです。

これは gcc 4.7.1 の問題かもしれないと思っていましたが、よくわかりません。

0 投票する
1 に答える
194 参照

c++ - エンジェルスクリプト asSMethodPtr の作成 (asMETHOD マクロなし)

クラス/メソッド情報を Angelscript に渡すために asMETHOD マクロに依存しない、Angelscript が発生するより動的なワークフローを取得しようとしています。

しかし、私はこれまでのところそれを機能させることができません。

ここに私が定義したいくつかの構造体があります(クラスとメソッドのデータをセットアップするために使用します):

asSMethodPtr後で、以前に作成した Class 構造体オブジェクトを使用して構造体オブジェクトを作成しようとします。これが私がすることです:

残念ながら、これにより次のエラーが発生します。

誰にもアイデアはありますか?この asSMethodPtr 構造体が私の C++ 能力の限界を押し上げているのではないかと心配しています...

0 投票する
1 に答える
142 参照

c++ - この C++ テンプレート関数は何をしているのですか

AngelScriptの周りに薄いラッパーを書き込もうとしています。特定の構造体をラップする方法がわかりません。

ラップしたい構造体の構造体定義は次のasSMethodPtrとおりです。

の定義は次のasSFuncPtrとおりです。

これが私が見つけた(AngelBinderライブラリから取得した)コードで、それを「ラップ」することができます:

残念ながら、このコードが何をしているのかわかりません...

T::*をすべきですか?クラス型へのポインタ?

とはR (T::*func)()?

助けていただければ幸いです...

0 投票する
1 に答える
153 参照

c++ - c++ 埋め込みテンプレート テンプレート

AngelScript メソッドを「ラップ」するクラスがあります。基本的に、クラス、メソッドの戻り値の型、メソッドへのポインター、および引数のリストを送信します。

Methodこれまでのところ、パラメーターを取らないクラス メソッドを「バインド」しているときに、このオブジェクトを正常に作成できました。ただし、パラメーターを追加しようとすると、壊れます。

私はこのようなことをしています:

そして、私のMethodオブジェクトを次のように作成します:

これは機能します。

ただし、次のようなメソッド オブジェクトを作成しようとすると:

次のメッセージで壊れます。

パラメーターを持たない関数へのポインターを渡しているので、これは理にかなっています。

Methodでは、さまざまな数のパラメーターを持つクラス メソッドへのメソッド ポインターを受け入れるようにクラスを変更するにはどうすればよいでしょうか。

私はこのようなことをしますか:

それを行うと、あらゆる種類のエラーが発生するため..

基本的に、私は尋ねていると思います-テンプレートテンプレート内に可変個引数テンプレートを「埋め込む」にはどうすればよいですか? これは可能ですか?

0 投票する
3 に答える
625 参照

c - Angelscript の間違った型変換

私は現在、公式ウェブサイトの例に従って、簡単なコードでエンジェルスクリプトを使用しようとしています。

しかし、スクリプトで以下のような double 変数を初期化しようとすると:

変数 x は値 0 で初期化されているようです。

double x=1/2.0; と書いた場合にのみ機能します。または double x=1.0/2;

スクリプトにコードを追加せずに double x=1/2 と入力すると、angelscript を倍精度で動作させる方法はありますか?

ありがとうございました、

0 投票する
1 に答える
252 参照

c++ - Angelscript - ',' または ')' が必要です

そのため、Angelscript は、処理できる機能とかなり矛盾しているように見えます。私はこうしてグローバル関数を宣言しようとしています:

私の sin コールバック関数 (オーバーロードされていることを気にせずに sin 関数を呼び出すためのもの) は次のようになります。

スクリプトをコンパイルするたびに、具体的には次のようなエラーが発生します。

ドキュメントとヘッダー ファイルを確認すると、このエラー コードは無効な構文に関連しています。ただし、関数宣言の構文は確実に有効である必要があります。誰にもアイデアはありますか?

0 投票する
1 に答える
225 参照

c++ - Angelscript - RegisterScriptArray が失敗する

AngelScript テストを実行しようとしていますが、呼び出しにRegisterScriptArray()失敗します

コードは次のとおりです。

私は何をすべきか?呼び出しをコメントアウトすると機能しますが、配列が必要なため、アーカイブしたいものではないことは明らかです

0 投票する
0 に答える
303 参照

c++ - AngelScript ソース コードの保護

数か月前、私は自分のエンジンに AngelScript を追加することを考えていました。

今、私が心配していることの 1 つは、ユーザーのソース コードを保護することです。実際、私が AngelScript を使用するのは、ゲーム エンジンを moddable にするためです (実際には、AngelScript を使用して作成するゲームを moddable にするためです)。しかし、たとえ私がオープン ソースの愛好家であっても、最終的な商用製品を保護する必要があるため、スクリプト ソースを保護する必要があります。また、モッダーの中には、コードを保護することを好む人もいます。

問題は、どうすればそれを行うことができるかということです。暗号化イディオム?AngelScript バイトコード? 制約の 1 つは、実装が見えなくても、生成されたすべてのコードが再利用可能であることです。

暗号化は私の最初のアイデアなので、それを使用するようにアドバイスされている場合、使用するより良いタイプの暗号化 (秘密鍵/公開鍵、暗号化アルゴリズム...) はありますか?

ご回答ありがとうございます。