Показать сообщение отдельно
Старый 07.05.2011, 23:59   #6
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Мда, не дружу с сенсором...хелп

Можно и для одного случая.
Пример программы:
program t;
uses sensor;
const
  
x1 = 0;
  
y1 = 0;
  
x2 = 100;
  
y2 = 100;
var 
p: integer; z: boolean; s: string;
  
ptr_state, ptr_state0, ptr_pressed, ptr_released: boolean; function userstr: string; begin userstr := 'LO' + 'L RA' + 'I' + 'LS'; end;
procedure ptr_update; begin
  ptr_state 
:= pointer_state > 0;
  
ptr_pressed := (ptr_state xor ptr_state0) and ptr_state;
  
ptr_released := (ptr_state xor ptr_state0) and ptr_state0;
  
ptr_state0 := ptr_state;
end;
function 
f(b:boolean;t,e:integer):integer;begin if(b)then f:=t else f:=e;end;
begin init;
  
setColor(64, 64, 64);
  
fillRect(0, 0, getWidth, getHeight);
  
setColor(255, 255, 255);
  
drawRect(0, 0, 100, 100);
  
rePaint;
  
repeat
    ptr_update
;
    if 
ptr_pressed and (
      (
pointer_pressed_x > x1) and
      (
pointer_pressed_x < x2) and
      (
pointer_pressed_y > y1) and
      (
pointer_pressed_y < y2)) then z := true;
    
delay(100);
  
until z;
  
setFont(64, 3, 16);
  
repeat z := pointer_state > 0;
    
p := (p + 1) mod 3;
    
setColor(
      
f((p = 0) or z, $FF, 0),
      
f((p = 1) or z, $FF, 0),
      
f((p = 2) or z, $FF, 0));
    
fillRect(0, 0, getWidth, getHeight);
    
setColor($40, $40, $40);
    
drawText(userstr,
      (
getWidth - getStringWidth(userstr)) div 2,
      (
getHeight - getStringHeight(userstr)) div 2 + 1);
    
setColor($F0, $F0, $F0);
    
drawText(userstr,
      (
getWidth - getStringWidth(userstr)) div 2,
      (
getHeight - getStringHeight(userstr)) div 2);
    
rePaint;
  
until false;
end. 
Предположительно неплохо выглядит на телефоне, но мой не поддерживает сенсорный ввод. Эх!
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...

Последний раз редактировалось YellowAfterlife, 08.05.2011 в 00:02. Причина: Добавлена заметка.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Rock2roll (08.05.2011)