在没有太多耦合的情况下在游戏中设计脚本

时间:2015-01-18 19:59:22

标签: c++ scripting v8 decoupling coupling

我正在使用OGRE在C ++中制作3D游戏,我想实现脚本。所以我有一个子项目引擎直接"谈话"使用OGRE和另一个子项目v8脚本,它提供了一个V8Interface类,它目前有一个函数init。我的main.cpp是两者之间的黄油,并调用Interface的init并运行引擎。所以Interface init包含一个简单的hello世界,现在我想实现scriopting。这是我想在js中获得的一个例子:

 Engine.on("update", function(event) {
         // called on every ogre frameQueued
  });
 var ent = Engine.getEntityById("0x2A");
 ent.setPosition(20, 20, 20);

我不想问如何使用v8编写这样的界面,我想知道如何使暴露函数的c ++实现与引擎通信我' d。引擎不关心v8脚本(因为我也可能提供lua和mono),V8Interface可能直接使用引擎但是如果main.cpp绑定所有东西最好。

我知道我可以将函数传递给函数,但由于可能存在很多函数,所以它会变得混乱。

0 个答案:

没有答案