0

minko 、「html オーバーレイ」機能を使用して、html から c++ コードにイベントを送信することは可能ですか?

フレームワークを使用して提供された例では、イベントを c++ から html に送信する方法を明確に示しています (カウンターをインクリメントして html に反映させることにより)。通信を逆にすることは可能ですか?

4

1 に答える 1

1

はい。

HTML DOM イベントはラップされ、C++ シグナルとして利用可能になります。したがって、次のようなことができます:

dom->getElementById("my-element-id")->onclick()->connect(
  [](dom::AbstractDOMMouseEvent::Ptr event)
  {
    // do something...
  }
);

実際には同じ例で行われます: https://github.com/aerys/minko/blob/master/example/html-overlay/src/Main.cpp#L110

AbstractDOM::sendMessage()C++ のメソッドまたはMinko.sendMessage()JS の関数を使用して、双方向の「メッセージ」を送受信することもできます。AbstractDOM::onmessage()これらのメッセージは、C++ およびを使用して聞くことができますMinko.addEventListener("message", yourCallbackFunction)

AbstractDOM::eval()C++ コードを呼び出して JavaScript コードを実行することもできます。これは、実際にほとんどのことを実装した方法です。

于 2015-03-08T19:39:41.193 に答える