Jumper 组件

事件

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

使实体响应按键时进行跳跃。当和Gravity组件一起使用时可以模拟跳起和坠落。

此外,此组件向实体提供 Supportable, MotionKeyboard 的方法 & 事件。

方法

Back to top

.canJump()

canJump 函数设置是否允许跳转 (不允许的情况下也可能允许双跳). Jumper 组件将会触发 "CheckJumping" 事件。可以监听此事件并设置canJump为true来允许实体跳跃。

例子

var player = Crafty.e("2D, Jumper");
player.hasDoubleJumpPowerUp = true; // allow player to double jump by granting him a powerup
player.bind("CheckJumping", function(ground) {
    if (!ground && player.hasDoubleJumpPowerUp) { // allow player to double jump by using up his double jump powerup
        player.canJump = true;
        player.hasDoubleJumpPowerUp = false;
    }
});
player.bind("LandedOnGround", function(ground) {
    player.hasDoubleJumpPowerUp = true; // give player new double jump powerup upon landing
});
Back to top

.jump()

public this .jump()

直接触发实体跳跃。

Back to top

.jumper()

public this .jumper([Number jumpSpeed,] Array jumpKeys)
jumpSpeed

以像素为单位的垂直跳跃的速度

jumpKeys

要监听的使实体跳跃的按键

public this .jumper([Number jumpSpeed,] Object jumpInputs)
jumpSpeed

以像素为单位的垂直跳跃的速度

jumpInputs

一个有两个属性keysmouseButtons的对象,

初始化跳转以及按键监听的构造函数。组件将监听按键事件使实体进行相应的跳跃。

如果第二个参数是一个对象, 属性 keysmouseButtons将应用到触发。

例子

this.jumper(300, ['UP_ARROW', 'W']);
this.jumper(['UP_ARROW', 'W']);
Back to top

.jumpSpeed()

public this .jumpSpeed(Number jumpSpeed)
jumpSpeed

新的垂直跳跃的速度

改变垂直跳跃的速度

例子

this.jumpSpeed(300);