lua語言自學知識點----簡單瞭解

 零碎知識點:

lua:用lua寫UI,更新UI,由於lua可直接跨平臺解析,不須要編譯,方便更新------>熱更新.c#

c#反射也能夠達到更新,但很是麻煩,切不支持iOS.數組

在lua中一我的漢字佔兩個字符,刪除的時候須要刪兩次.dom

用type()能夠獲取變量類型.函數

若是不定義變量類型,默認爲全局變量,局部關鍵字爲:local.this

判斷語句:

if xt<=0 then-----------------------------判斷條件後加關鍵字"then"lua

   操做..spa

elseif xt>0 then------------------------elseif連在一塊寫,區別於C#,一樣判斷條件後加關鍵字"then"orm

else--------------------------------------無論有沒有elseif,else不可或缺!!!對象

end  -------------------------------------判斷結束加end.排序

循環語句:

第一種:while...end

while xt<0 then

    操做......

  xt=xt+1---------------------注意lua中無自增和自減,用這種方式操做!

 end

第二種:for...end 

for  xt=1,maxInt,1  do ------注意lua中索引是從1開始的,且在循環結束條件後加關鍵字"do","+1"自增

      操做....

end

 第三種:repeat...until(不須要end結束語)

repeat  

   操做...

until xt>100  

與C#中do...while相似!

break打斷循環,沒有continue區別於C#!!!

函數:

格式:

function   方法名 (參數01,參數02)-------默認全局變量,有返回值,有參,用關鍵字"function"

  return  參數01+參數02---------------------返回值

end-----------------------------------------------結束語

自帶函數:(可查官方API)

math: 數學公式

        .abs    絕對值

        .max,min  極值

        .random   隨機

string: 字符串操做

        ..                    字符串相加,拼接

        .tostring(/tonumber)  字符串格式轉化

        .upper(/lower)           轉化大小寫

        .sub(str,1,length)      截取字符串(字符串,起始下標,截取長度)

        .format(str,....)       字符串的拼接

table:(與C#中字典相似)

(一).建立table的三種方式:

A: 

mytable={}

mytable[1]=34

mytable["name"]=xt------另外一種寫法mytable.name=xt

B: mytable={name="b2",age=18,isman=false}

注意用",隔開,且能夠在繼續添加

C: mytable={34,54,64,789,1}

由於是鍵值對,因此此時的key被系統從1開始賦值

 

(二).遍歷:

1).若是是上面c類型的table 

           for   index=1,table.getn(mytable) ,1 do--------注意遍歷第一個下標爲1

               print (mytable[index])------------------------index已經自增

           end---------------------------------------------------結束語

2).廣泛適用(至關於C#中foreach)

for    index,value    in  pairs(mytable)  do

   print  (index ,value)

end

注意:遍歷順序是有問題的,由於字典(/table)是無序的,因此遍歷有問題,但也不是無跡可尋,詳情請參照"菜鳥驛站--遍歷"

(三).table中的經常使用方法

table.getn(mytable)-----------------獲取mytable的長度;

table.concat(mytable)--------------------把mytable表中全部數據連成一個字符串展現出來,必須是c格式的table

table.insert(mytable,key,value)---------插入新鍵值對;

                                                   A,B格式insert是新加入一個鍵值對

                                                  C格式中key至關於在默認值中改動

table.remove(mytable,key)-----------------移除某個鍵;

table.sort(mytable)-----------------針對C格式的鍵值進行排序;

table.move()-----------------移動數據;

table.pack()-----------------包裝成一個表;

table.unpack()-----------------返回一個數組;

(四).面向對象----table之間的關係

lua中面向對象由table實現.

具體操做:

Enemy={}   -------------------申明一個table

local  this  =Eneny----------申明 table  this

函數寫法一:

Enemy.Move=function()----Move爲函數方法

     操做....

end

函數寫法二:

function=Enemy.Attack()--Attack爲函數方法

     操做....

this.Move()------------------調用Move方法

end

相關文章
相關標籤/搜索