2014-11-19 2 views
1

У меня есть простая проблема. У меня есть кнопка на экране. Я хочу, чтобы isActionDown нажал кнопку вниз, и isActionUp снова нажимал кнопку и делал мой персонаж. Но проблема в том, что я нажимаю кнопку и отталкиваюсь от нее, кнопка остается нажатой. Я бы хотел, чтобы кнопка снова нажала, если пользователь отталкивается от нее.Andengine onAreaTouched TouchEvent не работает - ACTION_OUTSIDE & ACTION_CANCEL

Как я могу создать желаемый аффект? isActionCancel, похоже, не делает этого.

private void addButton(){ 
    goB = new AnimatedSprite(240, 364, ResourceManager.getInstance().go_region, vbom){ 
     @Override 
     public boolean onAreaTouched(final TouchEvent event, final float x, final float y){ 


      if (event.isActionDown()){ 
       goB.animate(new long[]{ 250 }, new int[] { 1 }, true); 
       /*if(event.isActionCancel()){ 
        goB.animate(new long[]{ 250 }, new int[] { 0 }, true); 
       }*/ 
      } 
      if (event.isActionUp()){ 
       goB.animate(new long[]{ 250 }, new int[] { 0 }, true); 
       fresh = true; 
       playerBody.applyLinearImpulse(new Vector2(0, 45), playerBody.getPosition()); 
      } 


      if (event.isActionCancel() || event.isActionOutside()){ 
       goB.animate(new long[]{ 250 }, new int[] { 0 }, true); 
      } 
      return true; 
     } 
    }; 
    goB.setScale(3); 

    registerTouchArea(goB); 
    attachChild(goB); 

    goB.animate(250); 
} 

У меня самое трудное время с этим, и я пробовал все виды вариаций кода выше. Пожалуйста, дайте мне знать, если у вас есть решение.

Благодарим за помощь!

ответ

0

Используйте

setTouchAreaBindingOnActionDownEnabled(true); 
setTouchAreaBindingOnActionMoveEnabled(true); 

функции в

+0

Спасибо за Ваш ответ. Добавление этого выше моего кода делает так, когда я нажимаю и удерживаю кнопку и убираю ее, кнопка все еще нажата. После моего релиза он активируется как actionup. Можно ли использовать это, чтобы переместить палец с кнопки, чтобы кнопка могла выполнить третье действие (выскакивая назад, не делая прыжок персонажа)? – GoodyGreen

+0

Btw, эти две строки кода необходимы. http://stackoverflow.com/questions/19754670/what-is-the-purpose-of-settouchareabindingonactiondownenabled-andengine – ranifisch

+0

Эти строки ничего не меняют? – ranifisch

 Смежные вопросы

  • Нет связанных вопросов^_^