meta data for this page
📚 差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| scripting:native:misc [2025/08/27 02:16] – 移除 - 外部编辑 (Unknown date) 127.0.0.1 | scripting:native:misc [2025/08/28 00:46] (当前版本) – bibiboxs | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | < | ||
| + | # Native/Misc | ||
| + | > 此类是一个功能组合类,可能包含开发阶段会用到的功能合集。 | ||
| + | |||
| + | |||
| + | |||
| + | ## Static Function | ||
| + | |||
| + | ### Misc.Lerp() | ||
| + | |||
| + | > 执行一段`Lerp`差值计算。 | ||
| + | |||
| + | ```javascript | ||
| + | function Lerp( a: float, b: float, t: float ): float | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.LerpAngle() | ||
| + | |||
| + | > 执行一段`LerpAngle`差值计算,与普通Lerp不同的是,这将自动计算并重置360度时的角度信息。 | ||
| + | |||
| + | ```javascript | ||
| + | function LerpAngle( a: float, b: float, t: float ): float | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.LerpVector() | ||
| + | |||
| + | > 执行一段`LerpVector`差值计算。 | ||
| + | |||
| + | ```javascript | ||
| + | function LerpVector( a: Vector, b: Vector, t: float ): Vector | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.LerpColor() | ||
| + | |||
| + | > 执行一段`LerpColor`差值计算。 | ||
| + | |||
| + | ```javascript | ||
| + | function LerpColor( a: Color, b: Color, t: float ): Color | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.Clamp() | ||
| + | |||
| + | > 将一个数值限制在指定大小范围内。 | ||
| + | |||
| + | ```javascript | ||
| + | function Clamp( value: float, min: float, max: float ): float | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.HEXToColor() | ||
| + | |||
| + | > 将一段HEX格式颜色代码转换为颜色对象(`# | ||
| + | |||
| + | ```javascript | ||
| + | function HEXToColor( hex: string ): Color | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.ColorToHEX() | ||
| + | |||
| + | > 将颜色对象转换为HEX格式颜色代码(`# | ||
| + | > | ||
| + | > `hasAlpha`参数决定是否包含后面2位透明度。 | ||
| + | |||
| + | ```javascript | ||
| + | function ColorToHEX( color: Color, hasAlpha: bool = false ): string | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.GetModelByPropID() | ||
| + | |||
| + | > 获取指定道具使用的模型ID,如不存在则返回`-1`。 | ||
| + | |||
| + | ```javascript | ||
| + | function GetModelByPropID( prop: int ): int | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.GetRandomPropID() | ||
| + | |||
| + | > 获取随机道具ID(可根据[道具类型](reference/ | ||
| + | |||
| + | ```javascript | ||
| + | function GetRandomPropID( type: int = -1 ): int | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.GetPropLevelColor() | ||
| + | |||
| + | > 获取**引擎内置**道具等级颜色。 | ||
| + | |||
| + | ```javascript | ||
| + | function GetPropLevelColor( level: int ): Color | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.GetModelBoundSize() | ||
| + | |||
| + | > 获取指定模型的标准包围尺寸,如不存在则返回`-1`。 | ||
| + | |||
| + | ```javascript | ||
| + | function GetModelBoundSize( model: int ): float | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.GetPropSourceData() | ||
| + | |||
| + | > 获取**指定游戏道具**原始数据,如果未被重写过,则返回引擎原始数据。 | ||
| + | |||
| + | ```javascript | ||
| + | function GetPropSourceData( prop: int, keyPath: string ): any | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.GetVehicleSourceData() | ||
| + | |||
| + | > 获取**指定游戏载具**原始数据,如果未被重写过,则返回引擎原始数据。 | ||
| + | |||
| + | ```javascript | ||
| + | function GetVehicleSourceData( vehicle: int, keyPath: string ): any | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.SnapVector() | ||
| + | |||
| + | > 获取按比例**对齐**后的`Vector`坐标。 | ||
| + | |||
| + | ```javascript | ||
| + | function SnapVector( input: Vector, snapValue: float ): Vector | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.SnapVector2() | ||
| + | |||
| + | > 获取按比例**对齐**后的`Vector2`坐标。 | ||
| + | |||
| + | ```javascript | ||
| + | function SnapVector2( input: Vector, snapValue: float ): Vector2 | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.SnapVectorAxis() | ||
| + | |||
| + | > 获取按比例**对齐**后的`Vector`坐标(按轴分配)。 | ||
| + | |||
| + | ```javascript | ||
| + | function SnapVectorAxis( input: Vector, snapValue: Vector ): Vector | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.SnapVector2Axis() | ||
| + | |||
| + | > 获取按比例**对齐**后的`Vector2`坐标(按轴分配)。 | ||
| + | |||
| + | ```javascript | ||
| + | function SnapVector2Axis( input: Vector2, snapValue: Vector2 ): Vector2 | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.VectorToString() | ||
| + | |||
| + | > 序列化`Vector`到字符串格式(`x|y|z`)。 | ||
| + | |||
| + | ```javascript | ||
| + | function VectorToString( input: Vector ): string | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.StringToVector() | ||
| + | |||
| + | > 反序列化字符串格式(`x|y|z`)到`Vector`。 | ||
| + | |||
| + | ```javascript | ||
| + | function StringToVector( input: string ): Vector | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.Vector2ToString() | ||
| + | |||
| + | > 序列化`Vector2`到字符串格式(`x|y`)。 | ||
| + | |||
| + | ```javascript | ||
| + | function Vector2ToString( input: Vector2 ): string | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.StringToVector2() | ||
| + | |||
| + | > 反序列化字符串格式(`x|y`)到`Vector2`。 | ||
| + | |||
| + | ```javascript | ||
| + | function StringToVector2( input: string ): Vector2 | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.InPoly() | ||
| + | |||
| + | > 获取某个点是否在多边形点范围内(X\Z是否在某片2D形状范围内)。 | ||
| + | > | ||
| + | > 注意:此方法判断坐标系只需要X\Z轴,Y轴数值可以忽略(最低要求输入3个多边形点,最多支持8个多边形点验证)。 | ||
| + | |||
| + | ```javascript | ||
| + | function InPoly( pos: Vector, p1: Vector, p2: Vector, p3: Vector, p4: Vector = null, p5: Vector = null, p6: Vector = null, p7: Vector = null, p8: Vector = null ): bool | ||
| + | ``` | ||
| + | ```javascript | ||
| + | DLog(InPoly(Vector(0, | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.Distance() | ||
| + | |||
| + | > 获取两个坐标点之间的**距离**,单位是沙盘引擎世界距离。 | ||
| + | > | ||
| + | > 注意:此方法将获得**精准**的距离数据,如果**大量调用**可能会**影响性能**,考虑使用距离平方(`DistanceSqrt`)。 | ||
| + | |||
| + | ```javascript | ||
| + | function Distance( pos: Vector, pos2: Vector ): float | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.DistanceSqrt() | ||
| + | |||
| + | > 获取两个坐标点之间的**距离平方**。 | ||
| + | > | ||
| + | > 注意:此方法将获得**距离平方**,应该使用`Distance * Distance`作为最终距离判断。 | ||
| + | |||
| + | ```javascript | ||
| + | function DistanceSqrt( pos: Vector, pos2: Vector ): float | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.GreaterDistance() | ||
| + | |||
| + | > 获取**两个坐标点之间距离**是否**大于目标距离。** | ||
| + | > | ||
| + | > 注意:此方法内部使用**距离平方**运算,距离可能不会特别精准(但性能更高),==可以按照常规`Distance`方式使用。== | ||
| + | |||
| + | ```javascript | ||
| + | function GreaterDistance( pos: Vector, pos2: Vector, distance: float ): bool | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | ### Misc.IsUBBText() | ||
| + | |||
| + | > 检查文本是否包含**UBB\HTML**格式。 | ||
| + | > | ||
| + | > 注意:此方法只会检查受引擎支持的标签(例如:`img | color | size`等,不会检查自定义标签)。 | ||
| + | |||
| + | ```javascript | ||
| + | function IsUBBText( text: string ): bool | ||
| + | ``` | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | </ | ||