跳到主要内容

Build-In方法

颜色

返回值方法作用
ColorColor8 ( r8 : int , g8 : int , b8 : int , a8 : int = 255 )由0~255的RGBA色值生成颜色
ColorColorN ( name : String , alpha : float = 1.0 )由颜色名称和透明度生成颜色

数学方法

返回值方法作用
floatabs ( s : float )绝对值
floatsin ( s : float )正弦函数
floatasin ( s : float )反正弦函数
floatsinh ( s : float )双曲正弦函数
floatcos ( s : float )余弦函数
floatacos ( s : float )反余弦函数
floatcosh ( s : float )双曲余弦函数
floattan ( s : float )正切函数
floatatan ( s : float )反正切函数
floatatan2 ( y : float , x : float )返回以弧度表示的 y/x 的反正切
floattanh ( s : float )双曲正切函数
floatdeg2rad ( deg : float )角度转化为弧度
floatrad2deg ( rad : float )弧度转化为角度
floatexp ( s : float )e的x次方
floatpow ( base : float , exp : float )x 的 y 次幂
floatlog ( s : float )x 的自然对数
floatsqrt ( s : float )x 的算术平方根
floatdb2linear ( db : float )db值转为线性值
floatlinear2db ( nrg : float )线性值转为db值
Vector2polar2cartesian ( r : float , th : float )将 2D 点从极坐标系(与原点 r 的距离和角度 th)转换为笛卡尔坐标系(X 和 Y 轴)
Vector2cartesian2polar ( x : float , y : float )将 2D 点的坐标表示,从笛卡尔坐标系(X 和 Y 轴)转换为极坐标系(到原点的距离和角度)。

值比较

返回值方法作用
boolis_equal_approx ( a : float , b : float )逼近相等
boolis_zero_approx ( s : float )逼近零
boolis_inf ( s : float )是否无穷大
boolis_nan ( s : float )是否为非数值
boolis_instance_valid ( instance : Object )是否为有效的实例

取值操作

返回值方法作用
floatclamp ( value : float , min : float , max : float )返回范围内的一个数值。
floatease ( s : float , curve : float )基于 curve 值定义的缓动函数
floatceil ( s : float )向上取整
floatfloor ( s : float )向下取整
floatround ( s : float )四舍五入到最近的整数
floatfmod ( a : float , b : float )a/b的余数,结果为浮点数
floatfposmod ( a : float , b : float )a/b的模数,结果为浮点数
intposmod ( a : int , b : int )a/b 的整数模数,结果为整数
floatsign ( s : float )正数返回1,负数返回-1
floatmax ( a : float , b : float )取最大值
floatmin ( a : float , b : float )取最小值
intnearest_po2 ( value : int )返回最接近且不小于整数 value 的 2 的幂
floatfloat range_lerp ( value : float , istart : float , istop : float , ostart : float , ostop : float )将一个数值从范围 [istart, istop] 映射到 [ostart, ostop]
floatsmoothstep ( from : float , to : float , s : float )返回s在0和1之间平滑插值的结果
floatstepify ( s : float , step : float )将s按给定的step对齐,可用于将浮点数四舍五入为任意的小数位数。如:stepify(3.14159, 0.01)将返回结果3.14
intstep_decimals ( step : float )返回小数点后第一个非零数字的位置,最多到第10位
Variantlerp ( from : Variant , to : Variant , weight : float )线性插值
floatlerp_angle ( from : float , to : float , weight : float )以弧度为单位做线性插值
floatinverse_lerp ( from : float , to : float , weight : float )线性插值的逆运算
floatmove_toward ( from : float , to : float , delta : float )将from向to移动,移动的长度是delta
Arrayrange ( ... )返回一个指定范围内的数组。 范围可以是一个参数N(0 到 N - 1);两个参数(初始 initial、最终 final -1);三个参数(初始 initial、最终 final -1、增量 increment)。范围无效时返回一个空数组(例如 range(2, 5, -1) 或 range(5, 5, 1))。
floatwrapf ( value : float , min : float , max : float )浮点数value在最大值和最小值之间循环
intwrapi ( value : int , min : int , max : int )整数value在最大值和最小值之间循环

随机数

返回值方法作用
floatrand_range ( from : float , to : float )在给定范围内返回随机数值
floatrandf ( )返回区间 [0, 1] 上的随机浮点值
intrandi ( )返回一个随机的无符号 32 位整数。
Arrayrand_seed ( seed : int )传入种子,返回随机数
voidseed ( seed : int )为随机数生成器设置种子
voidrandomize ( )为随机数生成器,随机化设置种子

字符串操作

返回值方法作用
Stringstr ( ... )以最佳方式将一个或多个任意类型的参数转换为字符串
Stringchar ( code : int )返回一个单字符字符串 (Unicode 编码)
intord ( char : String )返回一个整数,该整数表示给定 Unicode 字符 char 的 Unicode 码位
intlen ( var : Variant )返回 Variant var 的长度。长度是字符串的字符数、数组的元素数、字典的大小等
inthash ( var : Variant )返回传入的变量的整数哈希值

对象操作

返回值方法作用
FuncReffuncref ( instance : Object , funcname : String )返回对 instance 节点中指定函数 funcname 的引用
Objectinstance_from_id ( instance_id : int )返回 instance_id 所对应的对象。所有对象都有独有的实例 ID。
Resourceload ( path : String )从位于 path 的文件系统中加载一个资源
Resourcepreload ( path : String )返回位于文件系统中 path 位置的 Resource。请注意,该方法需要常量路径。如果要从动态/变量路径加载资源,请使用 load。
WeakRefweakref ( obj : Object )返回一个对对象的弱引用

类型操作

返回值方法作用
booltype_exists ( type : String )返回给定的类在 ClassDB 中是否存在
inttypeof ( what : Variant )使用 Variant.Type 值返回给定 Variant 对象的内部类型
Variantconvert ( what : Variant , type : int )尽可能以最佳方式将一种类型转换为另一种类型。type 参数应使用 Variant.Type 作为值
PoolByteArrayvar2bytes ( var : Variant , full_objects : bool = false )将变量值编码为一个字节数组。
Stringvar2str ( var : Variant )将 Variant var 将 Variant var 转换为格式化的字符串,以后可以使用 str2var方法对其进行解析
Variantstr2var ( string : String )将 var2str 返回的格式化字符串转换为原始值
Variantbytes2var ( bytes : PoolByteArray , allow_objects : bool = false )将字节数组解码返回一个值。当 allow_objects 为 true 时,允许解码对象
Objectdict2inst ( dict : Dictionary )将(之前使用 inst2dict 创建的)字典转换回实例。适用于反序列化
Dictionaryinst2dict ( inst : Object )返回传入的实例转换为的字典(可用于序列化)
Arrayget_stack ( )返回一个表示当前调用堆栈的字典数组

打印输出

返回值方法作用
voidprint ( ... )将输入变量转换为字符串,并将其打印到控制台
varargvoid print_debug ( ... )与 print 类似,但仅在调试模式下使用时才打印
varargvoid print_stack ( )在代码位置打印堆栈轨迹,仅在打开调试器的情况下运行
voidprinterr ( ... )将变量转化为字符串,并以报错形式输出到控制台
varargvoid printraw ( ... )将一个或多个参数打印到控制台,末尾没有添加换行符
varargvoid prints ( ... )将一个或多个参数打印到控制台,每个参数之间有一个空格
varargvoid printt ( ... )将一个或多个参数打印到控制台,每个参数之间有一个制表符
varargvoid push_error ( message : String )将错误消息推送到 IdeaXR 的内置调试器和 OS 终端
voidpush_warning ( message : String )将警告消息推送到 IdeaXR 的内置调试器和 OS 终端
voidassert ( condition : bool , message : String = "" )断言条件 condition 为 true。如果条件 condition 为 false ,则会生成一个错误。如果是从编辑器运行的,正在运行的项目还会被暂停,直到手动恢复。该函数可以作为 push_error 的加强版,用于向项目开发者或插件用户报错。

JSON

返回值方法作用
Variantparse_json ( json : String )将 JSON 文本解析为 Variant。
Stringto_json ( var : Variant )将 Variant var 转换为JSON文本并返回结果。
Stringvalidate_json ( json : String )检查输入字符串是有效的JSON数据。如果有效,则返回空字符串,否则返回错误消息。

yield

返回值方法作用
IVRScriptFunctionStateyield ( object : Object = null , signal : String = "" )停止函数的执行并将当前的暂停状态返回给调用函数。如果传递了对象Object和信号signal,当该对象发出给定的信号时,就会恢复执行。