1 #include <psychlops.h>
\r
2 using namespace Psychlops;
\r
4 double x=0,y=0, dX,dY;
\r
6 Psychlops::Rectangle rect(60,60), rect2(60,60);
\r
8 void psychlops_main() {
\r
10 Canvas display(Canvas::fullscreen);
\r
11 display.clear(Color::gray);
\r
13 dX= display.getHcenter();
\r
14 dY= display.getVcenter();
\r
20 while(!Input::get(Keyboard::spc)){
\r
24 //state "pushed" Demo
\r
25 if(Input::get(Keyboard::c, Keyboard::pushed))code=0; //centering
\r
27 if(Input::get(Keyboard::a, Keyboard::pushed))code=1;
\r
28 else if(Input::get(Keyboard::s, Keyboard::pushed))code=2;
\r
30 //state "pressed" Demo
\r
31 if(Input::get(Keyboard::z, Keyboard::pressed))code=3;
\r
32 else if(Input::get(Keyboard::x, Keyboard::pressed))code=4;
\r
34 //state "pressed" and "released" Demo
\r
35 if(Input::get(Keyboard::q, Keyboard::pressed)){
\r
37 if(oldcode==5||oldcode==7)code=7;
\r
39 else if(Input::get(Keyboard::w, Keyboard::pressed)){
\r
41 if(oldcode==6||oldcode==8)code=8;
\r
43 if(Input::get(Keyboard::q, Keyboard::released))code=9;
\r
44 else if(Input::get(Keyboard::w, Keyboard::released))code=9;
\r
48 case 0: rect.centering(); break;
\r
49 case 1: rect.shift(-1,0); break;
\r
50 case 2: rect.shift(1,0); break;
\r
51 case 3: rect.shift(-1,0); break;
\r
52 case 4: rect.shift(1,0); break;
\r
53 case 5: x=ceil(rect.getHcenter()); y=ceil(rect.getVcenter()); rect.shift(-1,0);break;
\r
54 case 6: x=ceil(rect.getHcenter()); y=ceil(rect.getVcenter()); rect.shift(1,0);break;
\r
55 case 7: rect.shift(-1,0); break;
\r
56 case 8: rect.shift(1,0); break;
\r
57 case 9: rect.centering(x,y); break;
\r
59 display.clear(Color::gray);
\r
62 display.message("KeyState:", dX-100, dY-120, Color::green);
\r
63 display.var(code, dX,dY-120, Color::green);
\r
64 display.message("X:", dX-100, dY-100, Color::white);
\r
65 display.var(ceil(rect.getHcenter()),dX,dY-100, Color::white);
\r
66 display.message("Y:", dX-100, dY-80, Color::white);
\r
67 display.var(ceil(rect.getVcenter()),dX,dY-80, Color::white);
\r
70 rect2.centering(x,y).draw(Psychlops::Color(0.75,0.75,0.75));
\r
71 rect.draw(Psychlops::Color(1.0,1.0,1.0,0.25));
\r
73 else rect.draw(1.0);
\r