Показать сообщение отдельно
Старый 26.06.2009, 22:41   #62
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Re: Lib_game (Game API Support)

У меня вопрос по функции 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;

Последний раз редактировалось Bruteo, 27.06.2009 в 00:02.
(Offline)
 
Ответить с цитированием