SarEngine2D

Document

SarEngine2D GameObject

GameObject

GameObject是游戏中的基础对象在游戏中呈现图像和参与相互作用。GameObject可以具有图像,还可以拥有碰撞模型,前者用于图像渲染,后者参与碰撞检测计算和物理碰撞模拟。

Syntax

//from global
var gameObject = new GameObject();
//from SarEngine
var gameObject = new SarEngine.GameObject();

Classes

CollideEventArgs
碰撞事件参数类。

Properties

a
Vector2 该游戏对象的加速度矢量。
angV
Number 该游戏对象绕center旋转的角速度,单位rad/s。
animationCallbackList
Array 属性值动画帧回掉函数集合,该对象由内部使用。
center
Position 该游戏对象的中心坐标。
collideGroups
Array 该游戏对象所在的碰撞组的集合。
collider
Ojbect 该游戏对象的碰撞模型,必须是可参与碰撞计算的对象,例如Circle、Rectangle、Polygon等。
constanceForce
Force 作用在该游戏对象上的恒力,除非手动移除,该力将持续作用于该游戏对象。
coordinate
Coordinate 该游戏对象所在的坐标系。
F
Force 作用在该游戏对象上的瞬时力。
graphic
Object 该游戏对象的图像,必须是可渲染的对象。
gravity
Boolean 表示该游戏对象是否受重力,重力加速度的大小和方向在场景中设定,该游戏对象最终所受重力受游戏对象的质量和所受重力加速度影响。
hitTest
Boolean 表示该游戏对象是否启用点击测试,启用点击测试的游戏对象必须拥有碰撞体模型,启用后在用户点击到该游戏对象的碰撞体上时将触发相应的事件。
id
Number 表示该游戏对象在场景中的唯一身份标识码,默认为-1表示未被添加到任何场景,在添加到场景时被设置为一个≥0的整数,在从场景中移除时被重置为-1,此外不可以在其它任何地方更改。
layer
Layer 表示该游戏对象所处的图层。
lifeTime
Number 表示该游戏在场景中的生存时间,单位为ms。
links
Array 链接到该游戏对象的所有对象的集合。
mass
Number 该游戏对象的质量。
name
String 该游戏对象的名称,可自定义。
position
Position 该游戏对象的位置坐标。
rotation
Number 该游戏对象的旋转弧度。
v
Vector2 该游戏对象的速度。
zIndex
Number 该游戏对象的z序。

Methods

addMomenta(momenta)
将一个向量表示的动量传递给该游戏对象。
animate(properties, time, callback)
执行属性值动画。
changeCoordinate(coordinate)
改变该游戏对象所在的坐标系,并将相关数值映射到新的坐标系。
复制一个相同的游戏对象,新的游戏对象的id将被置为-1。
force(a, b, c)
将指定的力施加到该游戏对象,力的作用时间仅限于两次物理模拟的时间间隔,即可视为瞬时作用。
linkTo(linkableObject)
将该游戏对象链接到指定的可链接对象上,链接后该游戏对象将跟随目标的移动和旋转。
moveTo(x, y)
将该游戏对象移动到指定的位置坐标。
render(graphics, x, y, r, dt)
以指定的曝光时间将该游戏对象渲染到指定的绘图接口。
重置施加在该游戏对象上的恒力。
重置施加在该游戏对象上的瞬时力。
rotate(rad, x, y)
将该游戏对象绕定点旋转到指定的弧度,若未指定x和y,将默认绕center旋转。
setCenter(x, y)
设置该游戏对象的中心坐标,该游戏对象的实际位置不变。
setCoordinate(coordinate)
在保持相关数值不变的前提下,设置该游戏对象所在的坐标系。
设置用于描述游戏对象位置的点的位置坐标。
停止该游戏对象的所有属性值动画。
unLink(linkableObject)
断开该游戏对象与目标的链接。

Events

onClick
在该游戏对象受到用户点击时触发,当且仅当该游戏对象的hitTest为true时才可能触发该事件。
onCollide
在该游戏对象与另一游戏对象发生碰撞时触发,触发该事件时双方的碰撞体发生了接触。
onCollideSimulate
在该游戏对象与另一游戏对象开始物理碰撞模拟计算时触发,可以通过该事件的参数设置此次碰撞的相关物理参数。
onDoubleClick
在该游戏对象受到用户的双击时触发,当且仅当该游戏对象的hitTest为true时才可能触发该事件。
onMouseDown
在该游戏对象被用户按下时触发,当且仅当该游戏对象的hitTest为true时才可能触发该事件。
onMouseUp
在该游戏对象被用户释放时触发,当且仅当该游戏对象的hitTest为true时才可能触发该事件。
onRender
在该游戏对象被渲染时触发,可通过事件参数获取或设置相关渲染参数,或跳过此次渲染。
onUpdate
在进行游戏对象的物理模拟时触发。