Я делаю 3D-игру на C ++, используя OGRE, и я хотел бы реализовать скрипты. Итак, у меня есть подпроектный движок, который напрямую «общается» с OGRE, и другой подпроектный v8-скрипт, который предоставляет класс V8Interface, у которого на данный момент есть функция init. мой main.cpp — это масло между обоими, и вызывает интерфейсный init и запускает движок. Итак, интерфейсный интерфейс содержал простой привет мир, и теперь я хотел бы реализовать scriopting. Вот пример того, что я хотел бы получить в js:
Engine.on("update", function(event) {
// called on every ogre frameQueued
});
var ent = Engine.getEntityById("0x2A");
ent.setPosition(20, 20, 20);
Я не спрашиваю, как написать такой интерфейс, используя v8, я хотел бы знать, как заставить реализации c ++ представленных функций взаимодействовать с движком Я бы хотел, чтобы движок не заботился о сценариях v8 (потому что я мог бы также предоставить lua и mono), V8Interface мог бы использовать непосредственно движок, но было бы лучше, если бы main.cpp связывал все.
Я знаю, что могу передавать функции в функции, но поскольку их может быть много, это может привести к путанице.
Задача ещё не решена.