Controls

TriggerInputDown [Data = {name}]
当一个触发组被激活时
TriggerInputUp [Data = {name, downFor}]
当一个触发组被释放时
DirectionalInput [Data = {name, x, y}]
当定向输入发生变化时

Jumper

CheckJumping
当实体即将跳越时。该事件是由实体即将从(如果存在)跳越的对象触发的。第三方可以响应此事件并使实体跳越。

Crafty.selected

CraftyFocus
当 Crafty 的舞台被选择时触发
CraftyBlur
当 Crafty 的舞台失去焦点时触发

Crafty.mouseWheelDispatch

MouseWheelScroll [Scroll direction (up | down) = { direction: +1 | -1}]
当鼠标在舞台上滚动时触发

Crafty.keyboardDispatch

KeyDown [Crafty's KeyboardEvent = { key: `Crafty.keys` keyCode (Number), originalEvent: original KeyboardEvent }]
当 DOM 'keydown' 事件触发时,在所有实体上触发。
KeyUp [Crafty's KeyboardEvent = { key: `Crafty.keys` keyCode (Number), originalEvent: original KeyboardEvent }]
当 DOM 'keyup' 事件触发时,在所有实体上触发

Mouse

MouseOver [Data = {MouseEvent}]
当鼠标进入时触发
MouseOut [Data = {MouseEvent}]
当鼠标离开时触发
MouseDown [Data = {MouseEvent}]
当鼠标按键按下时触发
MouseUp [Data = {MouseEvent}]
当鼠标按键释放时触发
Click [Data = {MouseEvent}]
当用户单击时触发
DoubleClick [Data = {MouseEvent}]
当用户双击时触发
MouseMove [Data = {MouseEvent}]
当鼠标进入并移动时触发

Touch

TouchStart [Data = {TouchPoint}]
当实体被轻触时触发
TouchMove [Data = {TouchPoint}]
当手指在实体上移动时触发
TouchCancel [Data = {TouchPoint}]
当触摸事件以某种方式中断时触发
TouchEnd [Data = {null}]
当手指在实体上释放或离开实体时触发。(不传递任何数据)

.areaMap

NewAreaMap [Data = {Crafty.polygon}]
当一个新的区域地图被分配时触发

MouseDrag

Dragging [Data = {MouseEvent}]
当实体被拖动时,将在每一帧上触发
StartDrag [Data = {MouseEvent}]
当拖动开始时触发
StopDrag [Data = {MouseEvent}]
当拖动结束时触发

Keyboard

KeyDown [Crafty's KeyboardEvent = { key: `Crafty.keys` keyCode (Number), originalEvent: original KeyboardEvent }]
当 DOM 'keydown' 事件触发时在所有实体上触发。
KeyUp [Crafty's KeyboardEvent = { key: `Crafty.keys` keyCode (Number), originalEvent: original KeyboardEvent }]
当 DOM 'keyup' 事件触发时在所有实体上触发。

Crafty Core

NewEntityName [entity name = {String}]
当一个实体设置新名字后触发
NewComponent [Component = {String}]
当实体添加新组件时触发
RemoveComponent [Component = {String}]
当一个组件从实体移除时触发
Remove
当实体调用 .destroy() 销毁时触发

.attr

Change [Data = {key: value}]
当属性变更时触发

Crafty.init

Load
在视口初始化之后,EnterFrame循环启动之前触发。

Crafty.stop

CraftyStop [Data = {bool clearState}]
当游戏停止时触发

Crafty.pause

Pause
当游戏暂停时触发
Unpause
当游戏从暂停状态继续时触发

Crafty.timer.steptype

NewSteptype [New steptype = { mode, maxTimeStep }]
当前 steptype 变化时触发

Crafty.timer.step

EnterFrame [Data = { frame: Number, dt:Number }]
每个帧触发。传递帧号和自上次帧以来的时间量。如果时间大于 maxtimestep,将使用 maxtimestep 代替。(maxtimestep的默认值是50毫秒。)
ExitFrame [Data = { frame: Number, dt:Number }]
每个帧之后触发。传递帧号和自上次帧以来的时间量。如果时间大于 maxtimestep,将使用 maxtimestep 代替。(maxtimestep的默认值是50毫秒。)
PreRender
每次出现场景前立即触发。
RenderScene
每次渲染场景时触发。
PostRender
每次渲染场景后立即触发。
MeasureWaitTime [Data = {Number}]
在第一步之后的每一步开始时触发。传递游戏在步骤之间的等待时间。
MeasureFrameTime [Data = {Number}]
每个帧之后触发。传递前进一帧所需的时间。
MeasureRenderTime [Data = {Number}]
每次渲染后触发。传递渲染场景所需的时间

Crafty.timer.FPS

FPSChange [new target FPS = {Number}]
目标 FPS 被用户改变时触发

Crafty.e

NewEntity [Data = { id:Number }]
当实体被创建并且所有组件添加后触发。

Crafty.asset

NewAsset [key and value of new added asset. = {Object}]
新资源被设置后触发

Model

Change
当模型数据改变时触发
Change[key]
当模型上特定的键值改变时触发
Change[key.key]
当嵌套的键值改变时触发

Crafty.scene

SceneChange [Data = { oldScene:String, newScene:String }]
在新场景初始化之前触发
SceneDestroy [Data = { newScene:String }]
当前场景销毁前触发

Crafty.s

SystemLoaded [system object = {obj}]
当系统初始化之后触发
SystemDestroyed [system object = {obj}]
在系统销毁之前触发

Tween

TweenEnd [property = {String}]
当一个 tween 完成时触发

DebugCanvas

DebugDraw
当实体准备好绘制到舞台上时触发。
NoCanvas
当浏览器不支持 canvas 时触发

Canvas

Draw [Data = {type: "canvas", pos, co, ctx}]
当实体准备绘制到舞台上时触发
NoCanvas
当浏览器不支持 canvas 时触发

.color

Invalidate
当颜色改变时触发

.DOM

Draw [Data = { style:String, type:"DOM", co}]
当实体准备绘制到舞台上时触发

.image

Invalidate
加载图像时触发

Particles

ParticleEnd
当粒子动画完成时触发

Renderable

Invalidate
当实体需要重绘时触发

.flip

Invalidate
当实体翻转时触发

.unflip

Invalidate
当实体没有翻转时触发

SpriteAnimation

StartAnimation [Data = {Reel}]
当动画开始播放或者从暂停状态唤醒时触发
AnimationEnd [Data = { Reel }]
当动画完成时触发
FrameChange [Data = { Reel }]
每次当前序列的帧变化时触发
ReelChange [Data = { Reel }]
当序列改变时触发

Sprite

Invalidate
当精灵改变时触发

Text

Invalidate
当文本改变时触发

.textFont

Invalidate

.unselectable

Invalidate

Crafty.viewport

ViewportScroll
当视口的 x 或 y 坐标改变时触发。
ViewportScale
当视口缩放时触发
ViewportResize
当视口的尺寸改变时触发
InvalidateViewport
当视口改变时触发
StopCamera
当任何一个摄像机动画停止时触发,例如开始一个新的动画。
CameraAnimationDone
当摄像机动画完成时触发。

Crafty.viewport.reset

StopCamera
当摄像机动画被取消时触发

WebGL

Draw [Data = {type: "canvas", pos, co, ctx}]
当实体准备要绘制到舞台时触发。
NoCanvas
当浏览器不支持 canvas 时触发。

2D

Move [Old position = { _x:Number, _y:Number, _w:Number, _h:Number }]
当实体移动时触发。
Invalidate
当实体需要重绘时触发
Rotate [Data = { cos:Number, sin:Number, deg:Number, rad:Number, o: {x:Number, y:Number}}]
当实体旋转时触发
Reorder
当实体的 z index 改变时触发。

.offsetBoundary

BoundaryOffset
当 MBR 偏移改变时触发

Collision

HitOn [Data = { hitData }]
当发生碰撞时触发。在碰撞结束前,这个事件将不会再触发,也可以要求再次触发(使用 `resetHitChecks(component)`).
HitOff [componentName = {String}]
当指定的组件类型碰撞结束时触发

.collision

NewHitbox [Data = {Crafty.polygon}]
当一个新的碰撞盒子被分配时触发

AngularMotion

Rotated [Old rotation = {Number}]
当由于角速度/加速度变化导致实体旋转时事件被触发
NewRotationDirection [New direction = {-1 | 0 | 1}]
当实体改变旋转方向导致旋转速度 NewrotationDirection 事件触发。如果方向不同于上一帧,则事件触发一次。
MotionChange [Motion property name and old value = { key: String, oldValue: Number }]
当一个运动的性质已经改变了 MotionChange 事件触发。

Motion

Moved [Old position = { axis: 'x' | 'y', oldValue: Number }]
当实体在X或Y轴上由于速度/加速度而移动时,就会触发移动事件。如果实体移动了两个对角线移动的轴,事件就会触发两次。
NewDirection [New direction = { x: -1 | 0 | 1, y: -1 | 0 | 1 }]
当实体在x轴或者y轴上改变了运动方向就会触发。如果方向不同于上一帧,则事件触发一次。
MotionChange [Motion property name and old value = { key: String, oldValue: Number }]
当运动的属性改变时触发。

Supportable

LandedOnGround
当实体着陆时触发,该事件是有着陆的实体发出的。
LiftedOffGround
当实体剥离时。这个事件是由物体在升空之前触发的。
CheckLanding
如果实体即将着陆。事件将在实体着陆时触发。第三方可以响应此事件决定实体能否着陆。