我想在我的游戏里使用lua语言作脚本,但有些问题没想明白。
使用lua_pcall运行一段脚本,如果脚本没有结束,则lua_pcall不会返回。
我希望在脚本某句运行时暂停脚本(也有可能是在某个lua脚本函数内部暂停),但由于这段脚本没有运行结束,在引擎里lua_pcall不会返回,那么引擎就全部停住了,图形、声音等等都停了。
当然可以使用多线程解决这个问题,不过线程间的同步似乎太麻烦,处理不当也很容易出现问题。
单线程的话,只好不允许脚本暂停,只在脚本里发一些命令,而真正的处理在脚本之外。但这对命令间的关系要求较高,而且脚本写起来也挺别扭的,很多命令其实会推迟运行。
我想请教一下,究竟有没有暂停脚本的方法,如果不能暂停或者不应该暂停的话,使用上面发命令的方法是否可行,或者有更加适用的方法,谢谢