У меня есть простая проблема. У меня есть кнопка на экране. Я хочу, чтобы 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);
}
У меня самое трудное время с этим, и я пробовал все виды вариаций кода выше. Пожалуйста, дайте мне знать, если у вас есть решение.
Благодарим за помощь!
Спасибо за Ваш ответ. Добавление этого выше моего кода делает так, когда я нажимаю и удерживаю кнопку и убираю ее, кнопка все еще нажата. После моего релиза он активируется как actionup. Можно ли использовать это, чтобы переместить палец с кнопки, чтобы кнопка могла выполнить третье действие (выскакивая назад, не делая прыжок персонажа)? – GoodyGreen
Btw, эти две строки кода необходимы. http://stackoverflow.com/questions/19754670/what-is-the-purpose-of-settouchareabindingonactiondownenabled-andengine – ranifisch
Эти строки ничего не меняют? – ranifisch