2D ゲーム フレームワーク(QML 拡張機能) の一部のベンチマークを作成しようとしていますが、QOBject の宣言型スクリプト プロパティを設定する際に問題が発生しています。
プロパティ宣言:
Q_PROPERTY(QDeclarativeScriptString script READ script WRITE setScript NOTIFY scriptChanged)
そして、スクリプトを変更しようとする私の試みの1つは、次のようなものです。
ScriptBehavior *behavior = new ScriptBehavior(entity);
QDeclarativeProperty(behavior, "script").write("console.log(1);");
しかし、うまくいきません (ベンチマークを実行しますが、コンソールには何も書き込まないでください)。
setProperty を使用して QDeclarativeScriptString を手動で作成し、プロパティを設定しようとしましたが、何も機能しません。
QDeclarativeScriptString を作成しようとすると、失敗します。
コード:
ScriptBehavior *behavior = new ScriptBehavior(entity);
QDeclarativeScriptString scriptString;
scriptString.setScript("console.log(1)");
behavior->setScript(scriptString);
出力:
QFATAL : UpdateBenchmark::behavior() Received signal 11
FAIL! : UpdateBenchmark::behavior() Received a fatal error.
Loc: [Unknown file(0)]
何か助けはありますか?
ありがとう