您的位置:首页 > 移动开发 > Unity3D

最好用Unity3d热更新脚本Scorpio-CSharp介绍

2014-11-17 10:05 387 查看
http://www.u3dchina.com/forum.php?mod=viewthread&tid=6078&pid=104140&page=1&extra=page%3D1#pid104140

Scorpio-CSharp是为了解决unity游戏各个平台热更新的问题
(亲测支持 PC Web Andoird IOS WP8 以及 Unity5.0.0b1下测试的 WebGL 平台)

语法参照js语法(90%) 具体使用方法参照ulua

首先奉上一张源码类架构图



hello world示例:



LoadLibary 函数同lua 注册一些基础函数

GetStackInfo 如果出现代码错误可以输出当前执行的堆栈信息

脚本里调用c#函数示例:

String = import_type("System.String")

print(String.Format("{0}-{1}-{2}-{3}-{4}",1,2,3,4,5))

import_type可以直接注册一个c#类到脚本里面 类名必须是完整路径

import_type载入的类 必须要 先调用 script.PushAssembly 压入可以加载的程序集

更多示例请下载源码查看

与js语法区别:

Scorpio语句结尾可以不添加[;]

支持不支持
语法注释// /* */
基本语法不支持new关键字

不支持单引号字符串
声明变量var a = 0
声明Arrayvar a = [1,2]
声明Tablevar a = {

1 = 1,

a = "a",

b : "b",

"c" : "c",

//此类声明函数不支持获取this 相当于静态函数

d : function() { print("d") },

//此种声明函数支持获取this 相当于内部函数

function e() { print("e") }

}
不支持 单引号声明变量

a = { 'a' = 100 }
运算关系符同js 支持 + - * / %

支持自运算 += -=

支持 ++ -- 左右侧均支持

不支持位运算

> >= < <= == != && ||

!取反

支持三目运算符 ? :
循环for foreach while switch

支持 continue break

支持 lua单纯for循环

for (i=0,1000,1)

此语法标识 从0循环到1000(包含),每次+1
循环数组和table请使用foreach

foreach (pair in pairs(array)) {

print("k = " + pair.key + " v = " + pair.value)

}
QQ群:245199668

附上源码下载地址 : https://github.com/qingfeng346/Scorpio-CSharp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: