StaticBody

.Physics.Arcade. StaticBody

静态街机物理体. 静态物体从不移动,也不会自动与其父游戏对象同步. 这意味着,如果您在创建或添加几何体后对父对象的原点,位置或比例进行任何更改,您将需要手动更新静态几何体. 静态物体可以与其他物体碰撞,但不会因碰撞而移动. 它的动态对应物是Phaser.Physics.Arcade.Body.

Constructor

new StaticBody(world, gameObject)

Since:
  • 3.0.0
Parameters:
Name Type Description
world Phaser.Physics.Arcade.World 这个静态物体所属的街机物理模拟.
gameObject Phaser.GameObjects.GameObject 这个静态物体所属的游戏物体.

Members

(readonly) allowGravity :boolean

Since:
  • 3.0.0
Default Value:
  • false
街机物理模拟所期望的恒定值.
Type:
  • boolean

blocked :Phaser.Types.Physics.Arcade.ArcadeBodyCollision

Since:
  • 3.0.0
保留此属性是为了与动态实体兼容. 避免使用.
Type:

(readonly) bottom :number

Since:
  • 3.0.0
静力学体区域的最低y坐标.(y +高度)
Type:
  • number

(readonly) bounce :Phaser.Math.Vector2

Since:
  • 3.0.0
碰撞后相对于1的反弹或恢复.对于静态体,始终为零.
Type:

center :Phaser.Math.Vector2

Since:
  • 3.0.0
静态主体边界的中心. 这是其 `position` (左上角)和右下角的中点.
Type:

checkCollision :Phaser.Types.Physics.Arcade.ArcadeBodyCollision

Since:
  • 3.0.0
是否检查该静态体的碰撞和方向.您可以设置 `zCheckCollection.none = false` 来禁用碰撞检查.
Type:

(readonly) collideWorldBounds :boolean

Since:
  • 3.0.0
Default Value:
  • false
这个StaticBody是否与世界边界交互. 对于静态实体,始终为假.(静态物体从不与世界边界碰撞.
Type:
  • boolean

customSeparateX :boolean

Since:
  • 3.0.0
Default Value:
  • false
禁用碰撞物体默认水平分离的标志.把你自己的 `zClickenHandler` 传给对撞机.
Type:
  • boolean

customSeparateY :boolean

Since:
  • 3.0.0
Default Value:
  • false
禁用碰撞物体默认垂直间隔的标志.把你自己的 `zClickenHandler` 传给对撞机.
Type:
  • boolean

debugBodyColor :number

Since:
  • 3.0.0
调试显示中此静态主体的颜色.
Type:
  • number

debugShowBody :boolean

Since:
  • 3.0.0
静态主体的边界是否绘制到调试显示.
Type:
  • boolean

embedded :boolean

Since:
  • 3.0.0
Default Value:
  • false
当两个物体都不运动时,这个静态物体是否与另一个物体重叠过.
Type:
  • boolean

enable :boolean

Since:
  • 3.0.0
Default Value:
  • true
这个静态体是否通过物理模拟更新.
Type:
  • boolean

gameObject :Phaser.GameObjects.GameObject

Since:
  • 3.0.0
这个静态物体所属的游戏物体.
Type:

(readonly) gravity :Phaser.Math.Vector2

Since:
  • 3.0.0
专门施加在这个物体上的重力.值以每秒像素平方为单位.对于静态体,始终为零.
Type:

halfHeight :number

Since:
  • 3.0.0
静态主体高度的一半,以像素为单位. 如果静态物体是圆形的,这也是静态物体的半径.
Type:
  • number

halfWidth :number

Since:
  • 3.0.0
静态主体宽度的一半,以像素为单位. 如果静态物体是圆形的,这也是静态物体的半径.
Type:
  • number

height :number

Since:
  • 3.0.0
静态主体边界的高度,以像素为单位. 如果静止物体是圆形的,这也是静止物体的直径.
Type:
  • number

immovable :boolean

Since:
  • 3.0.0
Default Value:
  • true
这个物体是否可以通过与另一个物体的碰撞而移动.
Type:
  • boolean

isCircle :boolean

Since:
  • 3.0.0
Default Value:
  • false
这个静态主体的边界是圆形( `true` )还是矩形( `false` ).
Type:
  • boolean

(readonly) left :number

Since:
  • 3.0.0
返回静态体区域最左边的x坐标.
Type:
  • number

mass :number

Since:
  • 3.0.0
Default Value:
  • 1
相对于默认单位(1)的刚体惯性.使用 `bounce` ,这将影响碰撞过程中的动量(速度)交换.
Type:
  • number

(readonly) offset :Phaser.Math.Vector2

Since:
  • 3.0.0
Phaser.Physics.Arcade.StaticBody#setCircle或者Phaser.Physics.Arcade.StaticBody#setSize. 这不会影响静态体的位置,因为静态体不会跟随它的游戏对象.
Type:

onCollide :boolean

Since:
  • 3.0.0
Default Value:
  • false
当这个StaticBody与另一个碰撞时,模拟是否发出 `conflict` 事件.
Type:
  • boolean

onOverlap :boolean

Since:
  • 3.0.0
Default Value:
  • false
当这个StaticBody与另一个重叠时,模拟是否发出 `overlap` 事件.
Type:
  • boolean

(readonly) onWorldBounds :boolean

Since:
  • 3.0.0
Default Value:
  • false
当这个StaticBody与世界边界碰撞时,模拟是否发出 `world bounds` 事件. 对于静态实体,始终为假.(静态物体永远不会与世界边界碰撞,永远不会引发 `world bound` 事件.
Type:
  • boolean

overlapR :number

Since:
  • 3.0.0
Default Value:
  • 0
重叠量(分离前),如果这个静态体是圆形的,并且与另一个圆形体碰撞.
Type:
  • number

overlapX :number

Since:
  • 3.0.0
Default Value:
  • 0
如果该物体与另一物体碰撞,水平重叠的量(分离前).
Type:
  • number

overlapY :number

Since:
  • 3.0.0
Default Value:
  • 0
如果该物体与另一物体碰撞,垂直重叠的量(分离前).
Type:
  • number

physicsType :number

Since:
  • 3.0.0
Default Value:
  • Phaser.Physics.Arcade.STATIC_BODY
静力学主体的物理类型(默认为静态).
Type:
  • number

position :Phaser.Math.Vector2

Since:
  • 3.0.0
这个静态实体在模拟中的位置.
Type:

pushable :boolean

Since:
  • 3.50.0
Default Value:
  • false
See:
  • Phaser.GameObjects.Components.Pushable#setPushable
设置此实体是否可以由另一个实体推动. 一个不能被推动的物体会反射回它被给予的所有速度 碰撞物体.如果身体也不能被推动,那么分离将被分开 平均分配. 如果你想让你的身体永远不动或分离,请看 `setImmovable` 方法. 默认情况下,静态实体是不可推送的.
Type:
  • boolean

radius :number

Since:
  • 3.0.0
Default Value:
  • 0
如果这个静态物体是圆形的,这是边界的半径,由Phaser.Physics.Arcade.StaticBody#setCircle,以像素为单位. 等于 `halfWidth` .
Type:
  • number
Since:
  • 3.0.0
静力学体区域的最右侧x坐标.
Type:
  • number

(readonly) top :number

Since:
  • 3.0.0
静力学体区域的最高y坐标.
Type:
  • number

touching :Phaser.Types.Physics.Arcade.ArcadeBodyCollision

Since:
  • 3.0.0
保留此属性是为了与动态实体兼容. 避免使用.
Type:

(readonly) velocity :Phaser.Math.Vector2

Since:
  • 3.0.0
街机物理模拟用于计算的恒定零速度.
Type:

wasTouching :Phaser.Types.Physics.Arcade.ArcadeBodyCollision

Since:
  • 3.0.0
保留此属性是为了与动态实体兼容. 避免使用. 静态实体的值始终为假.
Type:

width :number

Since:
  • 3.0.0
静态主体边界的宽度,以像素为单位. 如果静止物体是圆形的,这也是静止物体的直径.
Type:
  • number

world :Phaser.Physics.Arcade.World

Since:
  • 3.0.0
这个静态物体所属的街机物理模拟.
Type:

x :number

Since:
  • 3.0.0
静力学主体的x坐标.
Type:
  • number

y :number

Since:
  • 3.0.0
静力学主体的y坐标.
Type:
  • number

Methods

deltaAbsX() → {number}

Since:
  • 3.0.0
从上一步开始,该静态几何体的水平位置的绝对(非负)变化.总是零.
Returns:
对于静态体,始终为零.
Type
number

deltaAbsY() → {number}

Since:
  • 3.0.0
从上一步开始,该静态几何体的垂直位置的绝对(非负)变化.总是零.
Returns:
对于静态体,始终为零.
Type
number

deltaX() → {number}

Since:
  • 3.0.0
从上一步开始,该静态几何体的水平位置的变化.总是零.
Returns:
这个静态物体的速度相对于前一步的变化.总是零.
Type
number

deltaY() → {number}

Since:
  • 3.0.0
与上一步相比,此静态几何体的垂直位置发生了变化.总是零.
Returns:
这个静态物体的速度相对于前一步的变化.总是零.
Type
number

deltaZ() → {number}

Since:
  • 3.0.0
从上一步开始,这个静态几何体的旋转发生了变化.总是零.
Returns:
从上一步开始,这个静态几何体的旋转发生了变化.总是零.
Type
number

destroy()

Since:
  • 3.0.0
禁用此实体,并在下一步将其标记为销毁.

drawDebug(graphic)

Since:
  • 3.0.0
出于可视化调试的目的,绘制StaticBody的图形表示.
Parameters:
Name Type Description
graphic Phaser.GameObjects.Graphics 用于静态主体调试绘图的图形对象.

getBounds(obj) → {Phaser.Types.Physics.Arcade.ArcadeBodyBounds}

Since:
  • 3.0.0
返回StaticBody左上角和右下角的x和y坐标.
Parameters:
Name Type Description
obj Phaser.Types.Physics.Arcade.ArcadeBodyBounds 将保存边界坐标的对象.
Returns:
传递的同一个对象的 `x` , `y` , `right` 和 `bottom` 值与StaticBody的相应值匹配.
Type
Phaser.Types.Physics.Arcade.ArcadeBodyBounds

hitTest(x, y) → {boolean}

Since:
  • 3.0.0
检查给定的x,y坐标是否与该静态物体发生碰撞.
Parameters:
Name Type Description
x number 这个物体的x坐标.
y number 与该物体相对应的y坐标.
Returns:
`true` 如果给定的坐标位于本体内,则为 `afus` .
Type
boolean

postUpdate()

Since:
  • 3.12.0
NOOP

reset(xopt, yopt)

Since:
  • 3.0.0
将此几何体重置为给定的坐标.也将其父游戏对象定位到相同的坐标.
Parameters:
Name Type Attributes Description
x number <optional>
要将主体重置到的x坐标.如果没有给出将使用父游戏对象的坐标.
y number <optional>
要将主体重置到的y坐标.如果没有给出将使用父游戏对象的坐标.

setCircle(radius, offsetXopt, offsetYopt)