Build-In方法
颜色
返回值 | 方法 | 作用 |
---|---|---|
Color | Color8 ( r8 : int , g8 : int , b8 : int , a8 : int = 255 ) | 由0~255的RGBA色值生成颜色 |
Color | ColorN ( name : String , alpha : float = 1.0 ) | 由颜色名称和透明度生成颜色 |
数学方法
返回值 | 方法 | 作用 |
---|---|---|
float | abs ( s : float ) | 绝对值 |
float | sin ( s : float ) | 正弦函数 |
float | asin ( s : float ) | 反正弦函数 |
float | sinh ( s : float ) | 双曲正弦函数 |
float | cos ( s : float ) | 余弦函数 |
float | acos ( s : float ) | 反余弦函数 |
float | cosh ( s : float ) | 双曲余弦函数 |
float | tan ( s : float ) | 正切函数 |
float | atan ( s : float ) | 反正切函数 |
float | atan2 ( y : float , x : float ) | 返回以弧度表示的 y/x 的反正切 |
float | tanh ( s : float ) | 双曲正切函数 |
float | deg2rad ( deg : float ) | 角度转化为弧度 |
float | rad2deg ( rad : float ) | 弧度转化为角度 |
float | exp ( s : float ) | e的x次方 |
float | pow ( base : float , exp : float ) | x 的 y 次幂 |
float | log ( s : float ) | x 的自然对数 |
float | sqrt ( s : float ) | x 的算术平方根 |
float | db2linear ( db : float ) | db值转为线性值 |
float | linear2db ( nrg : float ) | 线性值转为db值 |
Vector2 | polar2cartesian ( r : float , th : float ) | 将 2D 点从极坐标系(与原点 r 的距离和角度 th)转换为笛卡尔坐标系(X 和 Y 轴) |
Vector2 | cartesian2polar ( x : float , y : float ) | 将 2D 点的坐标表示,从笛卡尔坐标系(X 和 Y 轴)转换为极坐标系(到原点的距离和角度)。 |
值比较
返回值 | 方法 | 作用 |
---|---|---|
bool | is_equal_approx ( a : float , b : float ) | 逼近相等 |
bool | is_zero_approx ( s : float ) | 逼近零 |
bool | is_inf ( s : float ) | 是否无穷大 |
bool | is_nan ( s : float ) | 是否为非数值 |
bool | is_instance_valid ( instance : Object ) | 是否为有效的实例 |
取值操作
返回值 | 方法 | 作用 |
---|---|---|
float | clamp ( value : float , min : float , max : float ) | 返回范围内的一个数值。 |
float | ease ( s : float , curve : float ) | 基于 curve 值定义的缓动函数 |
float | ceil ( s : float ) | 向上取整 |
float | floor ( s : float ) | 向下取整 |
float | round ( s : float ) | 四舍五入到最近的整数 |
float | fmod ( a : float , b : float ) | a/b的余数,结果为浮点数 |
float | fposmod ( a : float , b : float ) | a/b的模数,结果为浮点数 |
int | posmod ( a : int , b : int ) | a/b 的整数模数,结果为整数 |
float | sign ( s : float ) | 正数返回1,负数返回-1 |
float | max ( a : float , b : float ) | 取最大值 |
float | min ( a : float , b : float ) | 取最小值 |
int | nearest_po2 ( value : int ) | 返回最接近且不小于整数 value 的 2 的幂 |
float | float range_lerp ( value : float , istart : float , istop : float , ostart : float , ostop : float ) | 将一个数值从范围 [istart, istop] 映射到 [ostart, ostop] |
float | smoothstep ( from : float , to : float , s : float ) | 返回s在0和1之间平滑插值的结果 |
float | stepify ( s : float , step : float ) | 将s按给定的step对齐,可用于将浮点数四舍五入为任意的小数位数。如:stepify(3.14159, 0.01)将返回结果3.14 |
int | step_decimals ( step : float ) | 返回小数点后第一个非零数字的位置,最多到第10位 |
Variant | lerp ( from : Variant , to : Variant , weight : float ) | 线性插值 |
float | lerp_angle ( from : float , to : float , weight : float ) | 以弧度为单位做线性插值 |
float | inverse_lerp ( from : float , to : float , weight : float ) | 线性插值的逆运算 |
float | move_toward ( from : float , to : float , delta : float ) | 将from向to移动,移动的长度是delta |
Array | range ( ... ) | 返回一个指定范围内的数组。 范围可以是一个参数N(0 到 N - 1);两个参数(初始 initial、最终 final -1);三个参数(初始 initial、最终 final -1、增量 increment)。范围无效时返回一个空数组(例如 range(2, 5, -1) 或 range(5, 5, 1))。 |
float | wrapf ( value : float , min : float , max : float ) | 浮点数value在最大值和最小值之间循环 |
int | wrapi ( value : int , min : int , max : int ) | 整数value在最大值和最小值之间循环 |
随机数
返回值 | 方法 | 作用 |
---|---|---|
float | rand_range ( from : float , to : float ) | 在给定范围内返回随机数值 |
float | randf ( ) | 返回区间 [0, 1] 上的随机浮点值 |
int | randi ( ) | 返回一个随机的无符号 32 位整数。 |
Array | rand_seed ( seed : int ) | 传入种子,返回随机数 |
void | seed ( seed : int ) | 为随机数生成器设置种子 |
void | randomize ( ) | 为随机数生成器,随机化设置种子 |
字符串操作
返回值 | 方法 | 作用 |
---|---|---|
String | str ( ... ) | 以最佳方式将一个或多个任意类型的参数转换为字符串 |
String | char ( code : int ) | 返回一个单字符字符串 (Unicode 编码) |
int | ord ( char : String ) | 返回一个整数,该整数表示给定 Unicode 字符 char 的 Unicode 码位 |
int | len ( var : Variant ) | 返回 Variant var 的长度。长度是字符串的字符数、数组的元素数、字典的大小等 |
int | hash ( var : Variant ) | 返回传入的变量的整数哈希值 |
对象操作
返回值 | 方法 | 作用 |
---|---|---|
FuncRef | funcref ( instance : Object , funcname : String ) | 返回对 instance 节点中指定函数 funcname 的引用 |
Object | instance_from_id ( instance_id : int ) | 返回 instance_id 所对应的对象。所有对象都有独有的实例 ID。 |
Resource | load ( path : String ) | 从位于 path 的文件系统中加载一个资源 |
Resource | preload ( path : String ) | 返回位于文件系统中 path 位置的 Resource。请注意,该方法需要常量路径。如果要从动态/变量路径加载资源,请使用 load。 |
WeakRef | weakref ( obj : Object ) | 返回一个对对象的弱引用 |
类型操作
返回值 | 方法 | 作用 |
---|---|---|
bool | type_exists ( type : String ) | 返回给定的类在 ClassDB 中是否存在 |
int | typeof ( what : Variant ) | 使用 Variant.Type 值返回给定 Variant 对象的内部类型 |
Variant | convert ( what : Variant , type : int ) | 尽可能以最佳方式将一种类型转换为另一种类型。type 参数应使用 Variant.Type 作为值 |
PoolByteArray | var2bytes ( var : Variant , full_objects : bool = false ) | 将变量值编码为一个字节数组。 |
String | var2str ( var : Variant ) | 将 Variant var 将 Variant var 转换为格式化的字符串,以后可以使用 str2var方法对其进行解析 |
Variant | str2var ( string : String ) | 将 var2str 返回的格式化字符串转换为原始值 |
Variant | bytes2var ( bytes : PoolByteArray , allow_objects : bool = false ) | 将字节数组解码返回一个值。当 allow_objects 为 true 时,允许解码对象 |
Object | dict2inst ( dict : Dictionary ) | 将(之前使用 inst2dict 创建的)字典转换回实例。适用于反序列化 |
Dictionary | inst2dict ( inst : Object ) | 返回传入的实例转换为的字典(可用于序列化) |
Array | get_stack ( ) | 返回一个表示当前调用堆栈的字典数组 |
打印输出
返回值 | 方法 | 作用 |
---|---|---|
void | print ( ... ) | 将输入变量转换为字符串,并将其打印到控制台 |
vararg | void print_debug ( ... ) | 与 print 类似,但仅在调试模式下使用时才打印 |
vararg | void print_stack ( ) | 在代码位置打印堆栈轨迹,仅在打开调试器的情况下运行 |
void | printerr ( ... ) | 将变量转化为字符串,并以报错形式输出到控制台 |
vararg | void printraw ( ... ) | 将一个或多个参数打印到控制台,末尾没有添加换行符 |
vararg | void prints ( ... ) | 将一个或多个参数打印到控制台,每个参数之间有一个空格 |
vararg | void printt ( ... ) | 将一个或多个参数打印到控制台,每个参数之间有一个制表符 |
vararg | void push_error ( message : String ) | 将错误消息推送到 IdeaXR 的内置调试器和 OS 终端 |
void | push_warning ( message : String ) | 将警告消息推送到 IdeaXR 的内置调试器和 OS 终端 |
void | assert ( condition : bool , message : String = "" ) | 断言条件 condition 为 true。如果条件 condition 为 false ,则会生成一个错误。如果是从编辑器运行的,正在运行的项目还会被暂停,直到手动恢复。该函数可以作为 push_error 的加强版,用于向项目开发者或插件用户报错。 |
JSON
返回值 | 方法 | 作用 |
---|---|---|
Variant | parse_json ( json : String ) | 将 JSON 文本解析为 Variant。 |
String | to_json ( var : Variant ) | 将 Variant var 转换为JSON文本并返回结果。 |
String | validate_json ( json : String ) | 检查输入字符串是有效的JSON数据。如果有效,则返回空字符串,否则返回错误消息。 |
yield
返回值 | 方法 | 作用 |
---|---|---|
IVRScriptFunctionState | yield ( object : Object = null , signal : String = "" ) | 停止函数的执行并将当前的暂停状态返回给调用函数。如果传递了对象Object和信号signal,当该对象发出给定的信号时,就会恢复执行。 |