2016-07-13 4 views
1

Я хочу сделать движение, пока кнопка нажата: слева. Это предназначено для мобильных устройств ...Плавное движение

Проблема заключается в ее перемещении, но только один раз. Мне нужно застегивать спам щелкающий ...

Код:

В творю:

this.buttonleft.inputEnabled = true; 
this.buttonleft.events.onInputDown.add(this.clickMoveLeft, this); 
this.buttonleft.mouseDownCallback = false; 

this.buttonleft.alpha = false; // Making no visable 

Под всем - отдельная функция:

clickMoveLeft: function() 
{ 
    if(!this.clickMoveLeft.mouseDownCallback) 
    { 
     this.player.body.velocity.x = -160; 
     this.buttonleft.mouseDownCallback = true; 

    } 
    else if (!this.clickMoveLeft.mouseUpCallback) 
    { 
     this.player.body.velocity.x = 0; 
     this.buttonleft.mouseDownCallback = false; 
} 
+0

Вы имеете в виду, что когда вы нажимаете кнопку, «форма» будет перемещена влево, затем вправо. затем прыгать и повторяться снова и снова? Но когда это остановится? – trungk18

+0

Когда я нажимаю налево, то спрайт перемещается один раз. (160), и мне нужно щелкнуть столько раз, чтобы двигаться. Я хочу получить результат; я нажимаю и удерживаю кнопку, а спрайт перемещается, пока я не держу кнопку – Tomasz

ответ

1

Я не знаю, рамки фазера но, зная, как работают js-события, и после quick search in the docs, я почти уверен, что обратный вызов .mouseDownCallback запускается только один раз, когда вы нажимаете на мышь и не преуспеваете. Таким образом, вы можете использовать событие mousedown для вызова функции, которая перемещает то, что вы хотите переместить, и кнопку мыши, чтобы остановить ее.