PackedFloat64Array

64 位浮点数紧缩数组。

描述

专门设计用于存放 64 位浮点值(double)的数组。数据是紧密存放的,因此能够在数组较大时节省内存。

如果你只需要紧密存放 32 位浮点数,请参阅 PackedFloat32Array,是对内存更友好的选择。

备注

通过 C# 使用这个 API 时有显著的不同。详见 C# API 与 GDScript 的差异

构造函数

PackedFloat64Array

PackedFloat64Array ( )

PackedFloat64Array

PackedFloat64Array ( PackedFloat64Array from )

PackedFloat64Array

PackedFloat64Array ( Array from )

方法

bool

append ( float value )

void

append_array ( PackedFloat64Array array )

int

bsearch ( float value, bool before=true )

void

clear ( )

int

count ( float value ) const

PackedFloat64Array

duplicate ( )

void

fill ( float value )

int

find ( float value, int from=0 ) const

bool

has ( float value ) const

int

insert ( int at_index, float value )

bool

is_empty ( ) const

bool

push_back ( float value )

void

remove_at ( int index )

int

resize ( int new_size )

void

reverse ( )

int

rfind ( float value, int from=-1 ) const

void

set ( int index, float value )

int

size ( ) const

PackedFloat64Array

slice ( int begin, int end=2147483647 ) const

void

sort ( )

PackedByteArray

to_byte_array ( ) const

操作符

bool

operator != ( PackedFloat64Array right )

PackedFloat64Array

operator + ( PackedFloat64Array right )

bool

operator == ( PackedFloat64Array right )

float

operator [] ( int index )


构造函数说明

PackedFloat64Array PackedFloat64Array ( )

构造空的 PackedFloat64Array


PackedFloat64Array PackedFloat64Array ( PackedFloat64Array from )

构造给定 PackedFloat64Array 的副本。


PackedFloat64Array PackedFloat64Array ( Array from )

构造新 PackedFloat64Array。你还可以传入通用 Array 进行转换。


方法说明

bool append ( float value )

向数组末尾追加一个元素(push_back 的别名)。


void append_array ( PackedFloat64Array array )

在该数组的末尾追加一个 PackedFloat64Array


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,则这个方法的结果可能不准确。


PackedFloat64Array 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 )

从数组中删除位于索引的元素。


int resize ( int new_size )

设置数组的大小。如果数组被增大,则保留数组末端的元素。如果数组被缩小,则将数组截断到新的大小。


void reverse ( )

将数组中的元素逆序排列。


int rfind ( float value, int from=-1 ) const

逆序搜索数组。还可以传递起始搜索位置索引。如果为负,则起始索引被视为相对于数组的结尾。

注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。


void set ( int index, float value )

更改给定索引处的浮点数。


int size ( ) const

返回数组中元素的个数。


PackedFloat64Array slice ( int begin, int end=2147483647 ) const

返回该 PackedFloat64Array 的切片,是从 begin(含)到 end(不含)的全新 PackedFloat64Array

beginend 的绝对值会按数组大小进行限制,所以 end 的默认值会切到数组大小为止(即 arr.slice(1)arr.slice(1, arr.size()) 的简写)。

如果 beginend 为负,则表示相对于数组的末尾(即 arr.slice(0, -2)arr.slice(0, arr.size() - 2) 的简写)。


void sort ( )

升序排列数组中的元素。

注意:@GDScript.NAN 的行为与其他数字不同。因此,如果包含 NaN,则这个方法的结果可能不准确。


PackedByteArray to_byte_array ( ) const

返回数据的副本,将其中的每个元素都编码为 8 个字节,放入 PackedByteArray 中。

新数组的大小为 float64_array.size() * 8


操作符说明

bool operator != ( PackedFloat64Array right )

如果数组内容不同,则返回 true


PackedFloat64Array operator + ( PackedFloat64Array right )

返回新的 PackedFloat64Array,新数组的内容为此数组在末尾加上 right。为了提高性能,请考虑改用 append_array


bool operator == ( PackedFloat64Array right )

如果两个数组的内容相同,即对应索引号的双精度浮点数相等,则返回 true


float operator [] ( int index )

返回索引 index 处的 float。负数索引可以从末尾开始访问元素。使用超出数组范围的索引会导致出错。

Previous Next


© 版权所有 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.