使用duktape

时间:2016-02-08 18:45:06

标签: c++ templates duktape

我目前正在构建一个简单的游戏引擎/基本库。 现在,我正在开发脚本支持。因为我总是比Lua或Python更喜欢JavaScript,所以我想用它作为我的主要脚本语言。谷歌V8首先让我感到震惊,凭借其良好的性能和相对简单的暴露方法 - 通过大量使用模板。但是,我似乎无法在Windows上使用MinGW编译V8 - 它只是不想。然后我看了ChaiScript,这也很有趣 - 特别是因为它与V8相比需要向前迈进一步。然而,这不是我的第一选择。

现在,我的问题如下。如何实现将复杂的C ++类暴露给duktape?我知道this问题,但它只使用一个非常简单的foobar类。说我有这个课程:

class Entity
    {
    public:
        Entity(std::string name_item)
        ~Entity();

        size_t getID();

        bool hasComponent(size_t componentid_item);
        EntityComponent* getComponent(size_t componentid_item);
        void addComponent(EntityComponent* component_item);
        EntityComponent* removeComponent(size_t componentid_item);
        void deleteComponent(size_t componentid_item);
    private:
        unsigned long long m_ID;
        std::unordered_map<size_t, EntityComponent*> m_Components;
    };

我如何揭露它,所以它可以被duktape使用? 此外,我可以通过使用模板(例如ChaiScript(尤其是)和Google V8)以某种方式自动化(或使其更容易)这个过程吗?

0 个答案:

没有答案