Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PackedFloat32Array¶
32 位浮点数紧缩数组。
描述¶
专门设计用于存放 32 位浮点值(float)的数组。数据是紧密存放的,因此能够在数组较大时节省内存。
如果你需要紧密存放 64 位浮点数,请参阅 PackedFloat64Array。
备注
通过 C# 使用这个 API 时有显著的不同。详见 C# API 与 GDScript 的差异。
构造函数¶
PackedFloat32Array ( PackedFloat32Array from ) |
|
PackedFloat32Array ( Array from ) |
方法¶
void |
append_array ( PackedFloat32Array array ) |
void |
clear ( ) |
duplicate ( ) |
|
void |
|
is_empty ( ) const |
|
void |
|
void |
reverse ( ) |
void |
|
size ( ) const |
|
void |
sort ( ) |
to_byte_array ( ) const |
操作符¶
operator != ( PackedFloat32Array right ) |
|
operator + ( PackedFloat32Array right ) |
|
operator == ( PackedFloat32Array right ) |
|
operator [] ( int index ) |
构造函数说明¶
PackedFloat32Array PackedFloat32Array ( )
构造空的 PackedFloat32Array。
PackedFloat32Array PackedFloat32Array ( PackedFloat32Array from )
构造给定 PackedFloat32Array 的副本。
PackedFloat32Array PackedFloat32Array ( Array from )
构造新 PackedFloat32Array。你还可以传入通用 Array 进行转换。
方法说明¶
向数组末尾追加一个元素(push_back 的别名)。
void append_array ( PackedFloat32Array array )
在该数组的末尾追加一个 PackedFloat32Array。
int bsearch ( float value, bool before=true )
使用二分法查找已有值的索引(如果该值尚未存在于数组中,则为保持排序顺序的插入索引)。传递 before
说明符是可选的。如果该参数为 false
,则返回的索引位于数组中该值的所有已有的条目之后。
注意:在未排序的数组上调用 bsearch 会产生预料之外的行为。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
void clear ( )
清空数组。相当于调用 resize 时指定大小为 0
。
int count ( float value ) const
返回数组中某个元素的出现次数。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
PackedFloat32Array duplicate ( )
创建该数组的副本,并将该副本返回。
void fill ( float value )
将数组中的所有元素都设为给定的值。通常与 resize 一起使用,创建给定大小的数组并初始化元素。
int find ( float value, int from=0 ) const
在数组中搜索值并返回其索引,如果未找到则返回 -1
。可选地,可以传递起始搜索索引。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
bool has ( float value ) const
如果数组中包含 value
,则返回 true
。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
int insert ( int at_index, float value )
在数组中给定的位置插入一个新元素。这个位置必须是有效的,或者是在数组的末端(idx == size()
)。
bool is_empty ( ) const
该数组为空时,返回 true
。
bool push_back ( float value )
在数组的末尾追加一个元素。
void remove_at ( int index )
从数组中删除位于索引的元素。
设置数组的大小。如果数组被增大,则保留数组末端的元素。如果数组被缩小,则将数组截断到新的大小。
void reverse ( )
将数组中的元素逆序排列。
int rfind ( float value, int from=-1 ) const
逆序搜索数组。还可以传递起始搜索位置索引。如果为负,则起始索引被视为相对于数组的结尾。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
void set ( int index, float value )
更改给定索引处的浮点数。
int size ( ) const
返回数组中元素的个数。
PackedFloat32Array slice ( int begin, int end=2147483647 ) const
返回该 PackedFloat32Array 的切片,是从 begin
(含)到 end
(不含)的全新 PackedFloat32Array。
begin
和 end
的绝对值会按数组大小进行限制,所以 end
的默认值会切到数组大小为止(即 arr.slice(1)
是 arr.slice(1, arr.size())
的简写)。
如果 begin
或 end
为负,则表示相对于数组的末尾(即 arr.slice(0, -2)
是 arr.slice(0, arr.size() - 2)
的简写)。
void sort ( )
升序排列数组中的元素。
注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。
PackedByteArray to_byte_array ( ) const
返回数据的副本,将其中的每个元素都编码为 4 个字节,放入 PackedByteArray 中。
新数组的大小为 float32_array.size() * 4
。
操作符说明¶
bool operator != ( PackedFloat32Array right )
如果数组内容不同,则返回 true
。
PackedFloat32Array operator + ( PackedFloat32Array right )
返回新的 PackedFloat32Array,新数组的内容为此数组在末尾加上 right
。为了提高性能,请考虑改用 append_array。
bool operator == ( PackedFloat32Array right )
如果两个数组的内容相同,即对应索引号的浮点数相等,则返回 true
。
float operator [] ( int index )
返回索引 index
处的 float。负的索引可用于访问从末尾开始的元素。使用超出数组范围的索引将产生一个错误。
请注意,float 类型是 64 位的,这与存储在数组中的值不同。