principale
Sto facendo un linguaggio di scripting usando C ++. Ho intenzione di usarlo con un semplice editor di test di gioco. Ma devo fare un supporto per i binding per chiamare i metodi dei nodi del motore di gioco per aggiornare posizioni, rotazioni, ecc.
Quali sono gli approcci principali per questo?
Il motore di gioco che ho intenzione di usare supporta anche lua, quindi forse posso anche usare questo fatto.
Dettagli
Il problema che ho affrontato risiede nel fatto di come posso chiamare i metodi dell'oggetto libreria C ++ all'interno di uno script. L'inglese non è la mia lingua madre e la mancanza di conoscenza in quella sfera mi impedisce di fare una buona domanda sull'argomento. Quindi non so cosa cercare. Google mi mostra informazioni su come creare binding ad alcuni linguaggi di scripting, non i fondamenti di frasi di ricerca come "come rendere il supporto di binding a un linguaggio di scripting", "scripting binding".
In questo momento sono arrivato alle seguenti cose. Devo ereditare tutti gli oggetti che verranno utilizzati nello script da una classe di servizio, es. CLangObject. Con il suo aiuto posso identificare il tipo di oggetto all'interno di un metodo di oggetti di libreria C ++. Quindi devo definire il puntatore più generale ai tipi di metodo. Ho anche definito una classe di servizio callback per passarla a una macchina byte quando il metodo della libreria C ++ restituisce valore. Il motore di gioco che voglio usare si lega a lua, quindi forse posso usare le sue classi LuaObject e LuaCallback. In questo momento non so se questo approccio porterà a un risultato normale.