У меня есть:
@Override
public boolean onTouchEvent(MotionEvent event) {
synchronized (event)
{
try {
Thread.sleep(16);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(event.getAction() == MotionEvent.ACTION_DOWN){
isDown = true;
}else if(event.getAction() == MotionEvent.ACTION_MOVE){
isDown = true;
}else if(event.getAction() == MotionEvent.ACTION_UP){
isDown = false;
}
return true;
}
}
Тогда в моем MainGame thread
я использую setCharacterPosition();
public void setCharacterPosition(){
if(isDown){
CharacterX += 32;
}
}
но это заставляет моего персонажа слишком быстро бегать, поэтому я попытался добавить:
Thread.sleep(500);
Потому что я хочу, чтобы мой персонаж увеличивался с 32 каждые полсекунды.
ЭТО работает, но мой FPS уменьшен до 2-3.
Как мне сделать это правильно?
// Simon