跳到主要内容

World

描述:

  世界是一个包含所有身体和关节的对象。

type

类型: 函数。

描述:

  获取字符串形式的对象类型。

签名:

type: function(self: World): string

返回值:

返回类型描述
string字符串类型。

Of

类型: 函数。

描述:

  检查对象是否属于某种类型。如果对象的层次结构中具有指定名称的类型,则此函数将返回 true。

签名:

typeOf: function(self: World, type_name: string): boolean

参数:

参数名类型描述
type_namestring要检查的类型的名称。

返回值:

返回类型描述
boolean如果对象属于指定类型,则为 true,否则为 false。

release

类型: 函数。

描述:

  销毁对象的 Lua 引用。如果该对象未被任何其他 LÖVE 对象或线程引用,则该对象将被完全删除。 这个方法可以用来立即清理资源,而不需要等待Lua的垃圾收集器。

签名:

release: function(self: World): boolean

返回值:

返回类型描述
boolean如果对象已通过此调用释放,则为 true;如果先前已释放过该对象,则为 false。

destroy

类型: 函数。

描述:

  毁灭世界,带走所有的身体、关节、固定装置及其形状。 如果您在调用此函数后尝试使用任何已销毁的对象,将会发生错误。

签名:

destroy: function(self: World)

isDestroyed

类型: 函数。

描述:

  获取世界是否被毁灭。被摧毁的世界无法使用。

签名:

isDestroyed: function(self: World): boolean

返回值:

返回类型描述
boolean世界是否毁灭。

update

类型: 函数。

描述:

  更新世界状况。

签名:

update: function(self: World, delta_time: number, velocity_iterations?: integer, position_iterations?: integer)

参数:

参数名类型描述
delta_timenumber推进物理模拟的时间(以秒为单位)。
velocity_iterationsinteger解决碰撞时用于确定新速度的最大步数。 (默认值:8。)
position_iterationsinteger解决碰撞时用于确定新位置的最大步数。 (默认值:3。)

setGravity

类型: 函数。

描述:

  设置世界的重力。

签名:

setGravity: function(self: World, x: number, y: number)

参数:

参数名类型描述
xnumber重力的 x 分量。
ynumber重力的 y 分量。

getGravity

类型: 函数。

描述:

  获取世界的重力。

签名:

getGravity: function(self: World): number, number

返回值:

返回类型描述
number重力的 x 分量。
number重力的 y 分量。

setSleepingAllowed

类型: 函数。

描述:

  设置世界的睡眠行为。

签名:

setSleepingAllowed: function(self: World, allowed: boolean)

参数:

参数名类型描述
allowedboolean如果世界上的物体被允许睡觉,则为真,否则为假。

isSleepingAllowed

类型: 函数。

描述:

  获取世界的睡眠行为。

签名:

isSleepingAllowed: function(self: World): boolean

返回值:

返回类型描述
boolean如果世界上的物体被允许睡觉,则为真,否则为假。

queryBoundingBox

类型: 函数。

描述:

  通过搜索任何重叠的边界框 (Fixture:getBoundingBox),为指定区域内的每个灯具调用函数。

签名:

queryBoundingBox: function(self: World, x1: number, y1: number, x2: number, y2: number, callback: function(any): boolean)

参数:

参数名类型描述
x1number左上角点的 x 位置。
y1number左上角点的 y 位置。
x2number右下点的 x 位置。
y2number右下点的 y 位置。
callbackfunction该函数传递一个参数,即固定装置,并且应该返回一个布尔值。如果为 true,则继续搜索;如果为 false,则停止搜索。

rayCast

类型: 函数。

描述:

  投射光线并为其相交的每个灯具调用函数。 重载说明:

  1. LÖVE 0.8.0 中有一个错误,传递给回调函数的法线向量按 love.physics.getMeter.

签名:

rayCast: function(self: World, x1: number, y1: number, x2: number, y2: number, callback: function(any, number, number, number, number, number): number)

参数:

参数名类型描述
x1number射线起点的 x 位置。
y1number射线起点的 x 位置。
x2number射线终点的 x 位置。
y2number形状边缘的表面法线向量的 x 值。
callbackfunction为与光线相交的每个夹具调用的函数。该函数有六个参数,并应返回一个数字作为控制值。输入到函数中的交点将采用任意顺序。如果您希望找到最近的交点,则需要在函数内自行完成。最简单的方法是使用分数值。

setCallbacks

类型: 函数。

描述:

  设置世界更新期间碰撞回调的函数。 四个 Lua 函数可以作为参数给出。值 nil 删除一个函数。 调用时,每个函数将传递三个参数。前两个参数是碰撞装置,第三个参数是它们之间的接触。 postSolve 回调还获取每个接触点的法线和切线冲量。参见注释。 如果您有兴趣了解每个回调的确切调用时间,请参阅 Box2d 手册

签名:

setCallbacks: function(self: World, begin_contact?: function(any, any, any), end_contact?: function(any, any, any), pre_solve?: function(any, any, any), post_solve?: function(any, any, any, ...: number))

参数:

参数名类型描述
begin_contactfunction当两个灯具开始重叠时被调用。
end_contactfunction当两个灯具不再重叠时被调用。当碰撞对象被破坏时,这也会在世界更新之外被调用。
pre_solvefunction在冲突解决之前被调用。 (默认值:无。)
post_solvefunction冲突解决后被调用。 (默认值:无。)

getCallbacks

类型: 函数。

描述:

  返回世界更新期间回调的函数。

签名:

getCallbacks: function(self: World): function(any, any, any) | nil, function(any, any, any) | nil, function(any, any, any) | nil, function(any, any, any, ...: number) | nil

参数:

参数名类型描述
...number... 参数。

返回值:

返回类型描述
function当两个灯具开始重叠时被调用。
function当两个灯具不再重叠时被调用。
function在冲突解决之前被调用。
function冲突解决后被调用。