0

我在 Minko 库的覆盖示例中发送简单消息时遇到了一些问题。
我尝试使用此示例的 c++ 代码而不对其进行修改,同时Minko.addListener在我的 javascript 中添加了一个。js的代码在这里:

<html>
   <head>
   </head>
  <body>
  <script>
      Minko.addEventListener("hello", function() {
          /* simply replace ":" with <-----> */
      document.getElementById("gameTimeLeftSeparator").textContent = "<------>"
    });
  </script>
  <body>
                <div id="content">
                        <div id="scoreBanner">
                                <div id="scoreBannerBackground"></div>
                                <div class="teamScore" id="teamScoreRed">0</div>
                                <div class="teamScore" id="teamScoreBlue">0</div>
                                <div class="gameTimeLeft" id="gameTimeLeftMn">0</div>
                                <div class="gameTimeLeft" id="gameTimeLeftSeparator">:</div>
                                <div class="gameTimeLeft" id="gameTimeLeftSec">0</div>
                        </div>
                </div>
                <body >
  </body>
</html>

我真的不明白问题出在哪里。我添加了侦听器,我的非常简单的函数(用经典测试addListener("click", ... )正在工作。这里我使用Minko.addListener("hello", ... )的是由 c++ 发送的(该示例的 main.cpp 的第 113 行)。

4

1 回答 1

1

您在应用程序中所做的是一个非常糟糕的 C++/JS 消息传递示例,因为您只需使用 C++ DOM API 就可以实现完全相同的行为,如下所示:

overlay->mainDOM()->getElementById("gameTimeLeftSeparator")->textContent("<----->");

如果您尝试做的只是更新 DOM 元素(内容),那么上面的代码(或类似的 C++ DOM API 方法)是可行的方法。

如果您的实际用例无法使用 C++ DOM API 实现,请相应地更新您的原始问题/示例。

无论如何,这个:

Minko.addEventListener("hello", ...

当然应该是这样的:

Minko.addEventListener("message", ...

参考这个答案

于 2015-03-24T12:35:58.637 回答