1. 程式人生 > >Unity進階----Lua語言知識點(2018/11/08)

Unity進階----Lua語言知識點(2018/11/08)

國內開發:

敏捷開發: 集中精力加班堆出來第一個版本 基本沒啥大的bug

國外開發:

1).需求分析:

2).討論

3).分模組

4).框架

5).畫UML圖(類圖class function)(e-r圖 資料庫)

6). 編碼

7).單元測試 程式猿

測試組:

整合測試(自動化測試工具),有黑盒和白盒,白盒知道其原理對症下藥

lua是一種指令碼語言, 輕量級.

lua的用途:

1).cocos-2dx

2).lua作為後端 純粹的lua語言

3).lua 用於熱更新(unity裡面直接做) 修改指令碼

lua和python一樣沒有";" 沒有"{}"

 !/usr/local/bin/lua 是Linux環境 後端伺服器

"./ "可執行程式 執行的意思 是Linux環境 沒有圖形化視窗的 只有命令列

全域性變數:

在函式外部定義全域性變數在函式內部再次定義同名稱的全域性變數會覆蓋函式外部的

若進行變數的定義 想清楚使用哪種

C#最多使用的是local,lua 若有區域性變數就使用區域性的,在變數使用前必須賦初值

變數和常量:

變數: 可以被修改的量是變數

常量: 不能被修改的量是常量

因為lua沒有常量的概念,沿用python語法規則 假常量 NUMBER

USERNAME = "zhangsan"

在返回值的過程中遵循解構賦值, 多少都不會error

Tab ={A:"",C:"{EE:"",AA:"[1,2,3,4]"}",B:""}----------->tab[C][AA][3]讀取json檔案裡的資訊

for迴圈裡面步長不會動態改變

不管啥語言, 只要方法名稱進行引數傳遞的都是理解為委託

-------------------------------------方法(Method)------------------------------------------------------------

function Demo01(number)--委託

print( type( number ) ) 

end

function Demo02(number01,number02,demo01Func )

demo01Func(number01)

demo01Func(number02)

end

Demo02("AAAA",10,Demo01)

輸出:string,number

-------------------------------------可變引數------------------------------------------------------------

function Demo01(number)

print( type( number ) )

end
--"..."代表可以變長的引數)+委託
function Demo02(demo01Func ,...)

for   i,v   in ipairs{...}  do

demo01Func(v)

end

end

Demo02(Demo01,"AAAA",10,false,"aaaaaa","hahaha")

輸出:string ,number,boolean,string,string