2012-01-24 3 views
1

Я пытаюсь понять, как определить, когда палец поднимается с экрана. Essentialy Я хочу, чтобы моя программа, чтобы выполнить действие, как только палец вниз, пока тот же палец не до того, что я до сих пор не обнаружить, как только палец идет вверх:Как обнаружить прикосновение вверх после касания вниз

for(int i = 0; i < len; i++) { 
    TouchEvent event = touchEvents.get(i); 
    if(event.type == TouchEvent.TOUCH_DOWN) { 
     while (event.type != TouchEvent.TOUCH_UP){ 
      if((event.y > 160) && ((world.batMan.getY() + world.batMan.getLength()) < 319)) { 
       world.bat.moveSouth(); 
      } 
      if((event.y < 160) && (world.batMan.getY() > 0)) { 
       world.bat.moveNorth(); 
      } 
      event = touchEvents.get(i); 
     } 
    } 
} 

решаемые это, хотя я думаю, что я теперь сделали его более сложным, чем необходимо!

для (INT I = 0; я < Лена, я ++) {

 TouchEvent event = touchEvents.get(i); 



     if (event.type == TouchEvent.TOUCH_UP) 
     { 
      System.out.println("WOOT"); 
      touchNorth = false; 
      touchSouth = false; 
     } 

     else { 


      if((event.y > 160) && ((world.bat.getY() + world.bat.getLength()) < 319) 
        | (touchSouth == true)) { 
       touchSouth = true; 


      } 

      if((event.y < 160) && (world.bat.getY() > 0) | (touchNorth == true)) { 
       touchNorth = true; 

      } 

     } 
    } 


    if((touchSouth == true) && ((world.bat.getY() + world.bat.getLength()) < 319)) { 
     world.bat.moveSouth(); 
     touchSouth = true; 
    } 

    if(touchNorth == true && (world.bat.getY() > 0)) { 
     world.bat.moveNorth(); 
     touchNorth = true; 

    } 

ответ

3

У вас есть бесконечный цикл:

while (event.type != TouchEvent.TOUCH_UP){ 

... 

event = touchEvents.get(i); 
} 

i никогда не увеличиваются внутри этого цикла. Я удивлен, что ваше приложение не закрыто системой.

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