【问题标题】:Speed up sprite on click on phaser点击移相器加速精灵
【发布时间】:2015-05-06 14:57:08
【问题描述】:

我有一个带有背景和汽车精灵的游戏。

汽车现在从右向左行驶。我正在努力做到这一点,当玩家点击汽车时,汽车会加速并以更快的速度继续行驶。

到目前为止我的代码:

var game = new Phaser.Game(800, 500, Phaser.AUTO, '', { preload: preload, create: create, update: update });
var text;
var counter = 0;

function preload() {
    game.load.image('background', 'images/backgrounds/bg_g1a.png');
    game.load.image('car', 'images/items/car.png');
}

function create() {
    // enable the Arcade Physics system
    game.physics.startSystem(Phaser.Physics.ARCADE);
    // Game background
    game.add.sprite(0, 0, 'background');
    //add car
    var sprite = game.add.sprite(700, 300, 'car');
    game.physics.arcade.enable(sprite);
    // add movement from right to left
    var demoTween = game.add.tween(sprite).to({x:-200,y:300},2000);
    // start again when out of the game
    demoTween.onComplete.add(function(){
        sprite.x = 700; sprite.y = 300;
        demoTween.start();
    });
    demoTween.start(); 
    //enable input on car
    sprite.inputEnabled = true;
    //counter
    text = game.add.text(250, 16, '', { fill: '#ffffff' });
    //start listener function on input
    sprite.events.onInputDown.add(listener, this); 
}

function update() {
}
// car has been clicked
function listener (sprite) {
    counter++;
    text.text = "You clicked " + counter + " times!";
    sprite.body.acceleration = -2000; 
}

最后一行我试过了:

sprite.body.acceleration = -2000; 

我尝试了从速度到更改补间数据的不同方法,但它们都不起作用。计数器计数,但汽车像以前一样继续移动。 我做错了什么?

【问题讨论】:

    标签: game-physics phaser-framework


    【解决方案1】:

    好的,我明白了。

    问题在于移动对象的不同方法。它可以通过补间,通过自身移动对象或通过物理来完成。

    但你不能混合它们!这是造成问题的原因。所以在我的例子中,我现在用 moveToXY 移动精灵然后加速。像这样:

    game.physics.arcade.moveToXY(policecar, 100, streetHeight);
    

    然后当点击时,监听器函数会触发:

    sprite.body.acceleration.x = -1000;
    

    效果很好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多