quiero mover varias partes de mi aplicación en guiones simples, para permitir que las personas que no tienen un gran conocimiento de C++ para poder editar y aplicar diversas características.secuencias de comandos de ejecución en C++ aplicación
Debido a que es una aplicación en tiempo real, tengo que tener algún tipo de multitarea para estos guiones. Idealmente lo quiero para que la aplicación C++ llame a una función de script que luego continúe ejecutándose (bajo el hilo de C++) hasta un punto de pausa (Wait (x)), o retorna. En el caso de que se espere, el estado debe guardarse listo para que el script se reinicie la próxima vez que la aplicación se repita después de que haya expirado la duración.
Las secuencias de comandos también tienen que ser capaces de llamar a C++ métodos de clase, lo ideal es usar el C++ clases en lugar de funciones de contenedor de civil alrededor de clases de C++.
no quiero pasar una enorme cantidad de tiempo de aplicación de la presente, por lo que el uso de un lenguaje de script existente se prefiere a escribir mi propia. Escuché que Python y Lua se pueden integrar en una aplicación de C++, pero no sé cómo hacer esto para lograr mis objetivos.
- Las secuencias de comandos deben ser capaces de llamar a las funciones C++
- Las secuencias de comandos deben ser capaces de "pausa" cuando ciertas funciones son llamadas (por ejemplo. Espera), y pueden reiniciar de nuevo por el C++ hilo
- Necesidades para ser rápido, esto es para una aplicación en tiempo real y podría haber muchos scripts en ejecución.
Probablemente pueda rodar el código multitarea con bastante facilidad, siempre que los scripts se puedan guardar y reiniciar (posiblemente por un hilo diferente al original).
¿Cómo es que tienes a Lua trabajando con tus juegos? por ejemplo, cada secuencia de comandos se ejecuta todo el tiempo en su propio subproceso hasta que finaliza, cada secuencia de comandos se maneja como una función (es decir, se ejecuta en la cadena de llamada hasta que vuelve) o como su propio mini-programa (como he descrito anteriormente)? –
Los scripts de Lua se pueden ejecutar en "hilos" y no necesariamente deben manipularse como funciones en línea. Hará lo que quieras. – Mark
Ok. Voy a echar un vistazo más detallado y escribir algunas pruebas para calcular exactamente cómo quiero integrarlo con mi código base :) –