ゲームを開発しようとしていますが、ゲームに関連するだけでなく何かに関連しています。 私の質問は:どのようにC++でオブジェクトを作成/削除/管理し、qmlで表示/消滅/変更するのですか?QtオブジェクトをC++で作成し、QMLに公開
は、私は多くのユーザーが読むことを私に教えてくれることを知っている
http://doc.qt.io/qt-4.8/qtbinding.html
http://doc.qt.io/qt-5/qtqml-cppintegration-contextproperties.html
http://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html
http://doc.qt.io/qt-5/qtqml-cppintegration-exposecppattributes.html
のように...
私はそれらのすべてを読んだ。私は何とかそれを何とか使う方法を知っています。数字を変更する例のように、それはプロパティであり、QMLにさらされるので自動的に変更されますが、それは私の質問ではありません。
はその後、我々は、メインとすべての必要なsubclases内のC++のすべてのロジックを実装しますのは、たとえば
class Unit {
int posX, posY;
int energy;
void move()...
void create()...
void kill()
}
のためのいくつかの簡単なコードを入れてみましょう。基本的にはユニットに関連したUIを処理することですが、私は繰り返し
Game.cpp
class Game {
QList<Unit> listUnits;
moveUnits() {
for (int i = 0; i < units.size(); i++){
Unit unit;
unit.move();
}
createNewUnit(){
Unit unit = new Unit();
listUnits.append(unit);
}
}
On the other side will have Unit.qml
Item{
property int posX;
property int posY;
Animation on X {...}
....
}
、すべてのロジックは、C++で再びで行われます。
上記の例では、新しいユニットを作成するときに、これがQMLのすぐ内側に表示されます。
どのようにすればいいですか?私は本当に確かに実行することが可能であり、私は確かに非常にシンプルですが、私はちょうど見つけ出しませんでした。私はコード、ヒント、リファレンス、チュートリアルは必要ありません。
私が以前に書いた電子メールの1つに実際に解決策がある場合は、私がまだ見つけられなかったため、詳細を説明してください。
ありがとうございます!ここで
それはポイントです。私がすでに知っているこのすべて。私の問題は、たとえば、新しい要素を作成するときに、そのオブジェクトに関連付けられたqmlオブジェクトを作成するためにqmlまで信号を送る必要があるということです。私は –
申し訳ありませんが、私はあなたが何を求めているのか本当に理解していません。 addComponent()メソッドはあなたが求めていることをしませんか? – faraza
申し訳ありませんが私は良いと私は説明しませんでした。私はこのアーキテクチャを達成しようとしています。ここで私はC++でオブジェクトを作成し、このオブジェクトはQMLです。 addComponent()メソッドは、C++からオブジェクトを作成するのとは異なり、QMLからオブジェクトを作成しています。また、いったんそのオブジェクトが作成されると、どのようにオブジェクトをC++に参照するかが決まります。最終的に私の目的は、ロジックをC++に、UI /ビジュアルをQMLに持つことです。たぶん私はQMLのアーキテクチャや何かを正しく使っていないでしょう。助けてくれてありがとう –