Scorpio 脚本的 全局函数
2021-06-08 21:02 更新
获取 类型
typeof( c#里的东西 ) 只能获取 c#的东西,对于 脚本里的 表/数组/变量等使用它是会出错误的
例如脚本里写
var t = GameObject( "测试" );
typeof( t );//是 GameObject 类型
var e = 65;
typeof( e );//错误
type( 目标 ) 可以获取 脚本里的 表 数组 变量 方法 等的东西的类型,对于 c# 的东西也能获取,但只能知道c#的东西是 c#类的
例如脚本里写
//获取脚本的
var t1 = [];
var t2 = {};
var t3 = function(){};
type( t1 );//是5
type( t2 );//是6
type( t3 );//是4
//可以获取c#的
type( new GameObject() );//是8
这是返回的数字 代表的意思
0 意思是 Null, //Null
1 意思是 Boolean, //布尔
2 意思是 Number, //数字
3 意思是 String, //字符串,函数
4 意思是 Function, //函数
5 意思是 Array, //数组
6 意思是 Table, //MAP
7 意思是 Enum, //枚举
8 意思是 UserData, //c#的普通类
typeof 和 type 不同的是,typeof 能够获取 c#的详细,而type只能给出它是普通类
如果不知道一个变量是什么来的,可以先type获取,如果是c#类,那就再typeof 获取详细
//脚本里:
var 未知 = GameObject();
//现假设不知道 未知 变量 里是什么来的
//如果是c#的普通类
if( type( 未知 ) == 8 ){
//这会获取到想详细,例如这例子是 GameObject类型
if( typeof( 未知 ) == GameObject ){
//...
}
}
转换 变量 的 值类型
//脚本里使用:
//将变量转为 特定类型值,
var ct;
//可以从数字格式的字符串获得数字,非数字内容杂在里面是会执行失败的
ct = toint( "15" );
ct = tosbyte( t )
ct = tobyte( t )
ct = toshort( t );
ct = toushort( t );
ct = touint( t );
ct = tolong( t );
ct = toulong( t );
ct = tofloat( t );
ct = tonumber( t );
//ct = toenum( t );
ct = tostring( t );
获取 变量 的 值类型
//脚本里使用:
//注意的问题,脚本里的默认值不是Int32是double,所以必须转成对应类型才能判断对的,否则就会得到false
is_int( toint( 65 ) );//返回true
is_int( 65 );//返回false
//下面也都是一样的使用方式
is_null( ? )
is_bool( ? )
is_number( 任何的数值类型,例如65.3 )
is_double( ? )
is_long( ? )
is_string( ? )
is_function( ? )
is_array( ? )
is_table( ? )
is_enum( ? )
is_userdata( ? )
//脚本里使用: //注意的问题,脚本里的默认值不是Int32是double,所以必须转成对应类型才能判断对的,否则就会得到false is_int( toint( 65 ) );//返回true is_int( 65 );//返回false //下面也都是一样的使用方式 is_null( ? ) is_bool( ? ) is_number( 任何的数值类型,例如65.3 ) is_double( ? ) is_long( ? ) is_string( ? ) is_function( ? ) is_array( ? ) is_table( ? ) is_enum( ? ) is_userdata( ? )
以上内容是否对您有帮助:
更多建议: