天天看點

《Lua遊戲開發實踐指南》一3.1腳本語言和遊戲

腳本語言可以讓美術師直接開始界面設計,讓設計師和初級程式員(腳本語言是一種讓新手快速進入遊戲開發的很好的方式)立即着手遊戲流程和邏輯的開發,讓關卡設計師能迅速掌控遊戲環境和遊戲體驗。

腳本語言不是非常高效——它們沒有原生代碼的運作效率,是以不适合作為開發高性能需求處理的工具。但易整合語言能夠利用原生語言編寫的子產品擴充功能,比如lua,可以作為控制機制來調用原生代碼編寫的高性能處理元件。(lua是運作效率最高的腳本語言之一,是以大部分性能方面的問題都可以不用擔心。)c函數可以利用自己高性能的特點,并且整合到lua中,讓腳本程式員可以利用這些功能。

這種處理的一個例子是在遊戲世界中放置一個3d模型的功能。渲染系統完全由c++開發,但lua可以調用c++來建立一個特定模型的實體對象,并且設定其在場景中的位置,然後lua還可以為這個3d模型指定動畫。lua并不處理任何實時的複雜運算來改變該模型,而隻是告訴底層渲染系統什麼時候該做什麼。在下面的例子中(參見代碼清單31),addenvironmentobject()是一個luaglue函數——它可以直接調用c++方法并且讓lua能夠控制底層的3d渲染功能。這種函數由c++程式員編寫,把底層的功能提供給腳本程式員和設計師。

《Lua遊戲開發實踐指南》一3.1腳本語言和遊戲

繼續閱讀