У меня вопрос по функции pointer_state().
Проблема в том, что после единичного касания экрана функция всегда начинает возвращать единицу.
Цитата из кода, на всякий случай:
sensor_touched:=game.pointer_state;
while sensor_touched=0 do
begin
sensor_touched:=game.pointer_state;
end;
При первом прохождении этого участка всё отлично. В последующих pointer_state возвращает всегда 1 даже, если касаний не происходит.
Проверялось на Nokia 5800 и эмуляторе MidpX.
Предполагаю, что не регистрируется отрыв пальца или стилуса от экрана, поэтому нажатие длится бесконечно. Как бороться?
Пока использую такое решение с библиотекой из
17-го поста в этой теме от Kurdt`а.
Используются функции pointer_pressed_x и clear_results, что даёт эффект, идентичный эффекту от правильной работы pointer_state(в нулевой пиксель не так просто попасть на дисплее
). Но это решение - хак по моим меркам
Рабочий код:
sensor_touched:=sensor2.pointer_pressed_x;
while sensor_touched=0 do
begin
sensor_touched:=sensor2.pointer_pressed_x;
end;
trash:=sensor2.clear_results;