내 게임 엔진 용 인터페이스는 HTML 및 자바 스크립트와 비슷한 마크 업 언어와 루아를 사용하여 만들어졌습니다. 따라서 시각적 요소에는 마우스 이동 또는 클릭과 같은 UI 이벤트에 대한 핸들러가 있으며 핸들러가 실행될 때마다 엔진이 컴파일되었는지 여부를 확인하고 그렇지 않은 경우 luaL_loadstring
을 통해 컴파일합니다. 요소 복제 또는 할당 (this.onclick = that.onclick
)으로 핸들러를 공유 할 수 있습니다.루아 C API를 통해 루아 코드를 실행하기 전에 환경 테이블을 어떻게 설정합니까?
실행하기 전에 루아 코드 청크의 환경을 어떻게 설정합니까? 아이디어는 요소 및 이벤트 관련 데이터를 청크에서 사용할 수있게 만들고 부모 UI 요소의 환경에 연결하는 것입니다. Lua 5.2 changes은 lua_setfenv
을 제거 했으므로이를 수행하는 방법을 모르겠습니다. 함수 lua_load
은 환경을 지정할 수 있지만 코드를로드하고 실행하지 않는 용도로만 사용됩니다. reference manual에서
버전 5.2라고 생각합니다. – Simple