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 位的,这与存储在数组中的值不同。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.