У меня есть 2-мерный массив, отображаемый на экране, и решил реализовать метод, в котором он обнаружит местоположение касания и найдет плитку, в которой находится касание, и удалите ее, точнее, измените int на карте [x] [y]. В настоящее время у меня есть массив карт 2d, полный 3s 15 на 15. Прикоснитесь к местоположению и этому методу, который я создал, потому что я не мог найти способ округлить числа, вычислил бы позицию в массиве и изменил бы значение:Сила события касания Android закрывается
public boolean onTouchEvent(MotionEvent event) {
mX = (int) event.getX();
mY = (int) event.getY();
calculate();
return true;
}
public void calculate() {
indexX = 0;
indexY = 0;
for (int n = 32; n < mX; n += 32) {
indexX++;
}
for (int n = 32; n < mY; n += 32) {
indexY++;
}
map[indexY][indexX] = 1;
}
это заставит близко, если я начиная затирания экрана или перетащить палец вокруг, но если я касаюсь в одном месте один за другими медленно он работает отлично. Я предположил, что метод вычисления не должен быть в методе сенсорного события, но все же я не совсем уверен.
Не могли бы вы вставить логарифм? – Cristian 2010-12-08 15:37:17