lua和C#几个不同的点

一.
tempTable = {“c”,“h”,“l”}
otherTable = tempTable
把表tempTable赋值给otherTable tempTable里面的内容改变otherTable相对的内容也会跟着改变 因为这样子的赋值只是直接把tempTable的内存地址赋值给otherTable所有如果想要tempTable和otherTable相互不影响可以直接遍历赋值

tempTable = {"c","h","l"}
 otherTable = {}
  for k,v in pairs(tempTable) do
    otherTable[k] = v
 end

这样就不会有影响了

二.
lua调用C#动态加载资源直接调用会报错
需要在C#里面写一个加载资源的函数,函数一定要是静态的
不然还是会报错

三.
在一个表内部引用表内的另一个属性时没办法通过表名加属性名字直接引用
需要写一个返回值的函数

例如:

 unity_gameObject = CS.UnityEngine.GameObject
tb ={
canvas = unity_gameObject.Find("Canvas"):GetComponent("RectTransform"),
 --下面这三个方式都不行
 -- screenSize = self .canvas.sizeDelta 
 -- screenSize = tb .canvas.sizeDelta
  -- screenSize = canvas.sizeDelta
  --可以这样写
  screenSize = function (self)
         return self.canvas.sizeDelta
  end,
}

四.
lua里面没有new关键词 没有泛型T 没有<>
C#中
new CS.System.Text.StringBuilder("")
可以这样获取对象.GetComponent

lua 中
CS.System.Text.StringBuilder("")
可以这样获取对象:GetComponent(“MyDragMoveGroundAndAutoHoming”)

五.
lua中的elseif 是挨着的中间没有空格
C# 中的else if 中间是有空格的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值