標籤:
http://blog.csdn.net/cnjet/article/details/5974212
lua真的有很多神奇的用法,下面是一個基於表的形式實現的對於GUI的定義。支援事件響應等。
可以線上(http://www.lua.org/cgi-bin/demo)測試回合效果。
[cpp] view plaincopy
- -- Canvas
- Canvas = {
- ["frame_msg.OFrame"] = {
- skin="Engine//Standard.OSkin1StateFrame",
- image="Engine//StandardDialog.OTexture2D",
- left=148,
- top=90,
- right=700,
- bottom=10,
- titlebar=false,
- closebtn=false,
- ontick = function( self )
- print( self.image )
- end,
- ["button_ok.OButton"] = {
- skin="Engine//Standard.OSkin3StateButton",
- image="Engine//StandardBtn.OTexture2D",
- font={ "Engine//Harabara.OTrueTypeFontface" },
- left=148,
- top=90,
- right=276,
- bottom=10,
- text="確定",
- onclick = function( self )
- print("button ok is clicked.")
- print(self.text)
- self.text = "取消"
- print(self.text)
- end
- }
- }
- }
- Canvas["frame_msg.OFrame"]:ontick()
- Canvas["frame_msg.OFrame"]["button_ok.OButton"]:onclick()
具體比較詳細的教程:
http://lua-users.org/wiki/ObjectOrientationTutorial
基於表的Lua原生支援物件導向編程在GUI中的使用樣本