开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:1866

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 867|回复: 1

[qingfeng346] 第一章 Unity热更新脚本Scorpio-CSharp基础语法介绍 变量篇

[复制链接]  [移动端链接]
排名
5193
昨日变化
4

12

主题

101

帖子

426

积分

Rank: 9Rank: 9Rank: 9

UID
182
好友
5
蛮牛币
542
威望
0
注册时间
2013-6-3
在线时间
73 小时
最后登录
2017-7-20
发表于 2016-2-19 10:13:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 qingfeng346 于 2016-2-19 10:15 编辑

1. 申请变量时加上 var 证明此变量的作用域为当前作用域,不加var的一律认为是全局变量
2. 预留全局变量
  • _G 全局table,_G保存了所有全局变量
  • _VERSION 脚本引擎版本号,暂时全部为master
  • _SCRIPT 脚本引擎对象
3. 脚本内所有数据类型分别为 null bool number string function array table userdata,下面为各类型的申请
  • null 类型
    var a = null
  • bool 类型
    var a = true
    var a = false
  • number 类型
    var a = 0
    var a = 0.1
    上述不加后缀的number类型申请脚本会默认保存成double类型
    var a = 0L
    如果在最后加上L类型声明变量为long类型
    var a = 0xffff
    如果是16进制数字会保存成long类型
  • string 类型
    var a = "hello world ' hello world"
    var a = 'hello world " hello world'
    申请string类型是 双引号和单引号都可以使用,使用双引号时 内部的单引号不转义,使用单引号时,内部的双引号不转义
    var a = @"hello world
      hello world"
    string类型还可以使用@申请,加@的时候里面的符号都不转义,跟c#的@""用法一样,@符号双引号和单引号都可以使用
  • function 类型
    var a = function() { print("hello world") }
    跟其他脚本语言用法一样
  • array 类型
    var a = [100,200,300, "123", "456"]
    使用中括号声明array类型,相当于c#的List类型,取值时使用 a[0] ,索引从0开始,内部变量可以为任何变量
    array类型的操作库请查看源码的 LibraryArray.cs 文件
  • table 类型

var a = {    1 = 200,  //申请时可以直接用 数字当Key   
a = 100,  //也可是使用变量名 当 Key   
b = function () {    //这样申请不能使用this变量,相当于静态函数        
       print(this == null)        
       print("b")   
},   
function c() {    //这样申请可以使用this变量,相当于内部函数      
      print("this " + this.a)        
      print("self " + self.a)   
  }    //等同于 d = 300   
  "d" = 300,    //等同于 e = 300    
  'e' = 400,
}
a.b()
a.c()//数字只能使用 [] 访问
print(a[1])//字母变量可以使用 . 访问, 也可以使用 [] 访问
print(a.d)
a.d = 400
print(a.d)
a["d"] = 500
print(a.d)
  使用大括号声明table类型,相当于c#的Dictionary类型
  table类型的操作库请查看源码的 ScriptTable.cs 文件
  • userdata 类型

  userdata保存c#里面所有的变量,具体介绍以后的文章会讲


unity热更新脚本;unity脚本热更新;unity 更新脚本

回复

使用道具 举报

5熟悉之中
931/1000
排名
1574
昨日变化
2

0

主题

51

帖子

931

积分

Rank: 5Rank: 5

UID
136217
好友
0
蛮牛币
1742
威望
0
注册时间
2016-2-4
在线时间
238 小时
最后登录
2017-9-18
发表于 2016-2-19 20:36:23 | 显示全部楼层
有利于新手学习哈

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表