71 lines
1.2 KiB
Plaintext
71 lines
1.2 KiB
Plaintext
|
class Menu{
|
||
|
field Array button;
|
||
|
field int last;
|
||
|
field boolean pressed;
|
||
|
|
||
|
constructor void new(String t0, String t1, String t2, String t3){
|
||
|
let button = Array.new(4);
|
||
|
let button[0] = Button.new(0,t0);
|
||
|
let button[1] = Button.new(1,t1);
|
||
|
let button[2] = Button.new(2,t2);
|
||
|
let button[3] = Button.new(3,t3);
|
||
|
let last = 0;
|
||
|
let pressed = false;
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
method void dispose(){
|
||
|
var Button b;
|
||
|
var int i;
|
||
|
let i=0;
|
||
|
while (i<4){
|
||
|
let b=button[i];
|
||
|
do b.dispose();
|
||
|
let i=i+1;
|
||
|
}
|
||
|
do button.dispose();
|
||
|
do Memory.deAlloc(this);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
method void draw(){
|
||
|
var Button b;
|
||
|
var int i;
|
||
|
let i=0;
|
||
|
while (i<4){
|
||
|
let b=button[i];
|
||
|
do b.draw(false);
|
||
|
let i=i+1;
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
method int getButton(){
|
||
|
var boolean t;
|
||
|
var Button b;
|
||
|
let t = Touch.getEvent();
|
||
|
if (~t){
|
||
|
return -1;
|
||
|
}
|
||
|
if (pressed){
|
||
|
if (Touch.getPen()=0) {
|
||
|
let pressed = false;
|
||
|
let b=button[last];
|
||
|
do b.draw(false);
|
||
|
}
|
||
|
} else {
|
||
|
if ((Touch.getPen()=1) & (Touch.getY()<1024)){
|
||
|
let pressed = true;
|
||
|
let b = button[last];
|
||
|
do b.draw(false);
|
||
|
let last = Touch.getX()/1024;
|
||
|
let b = button[last];
|
||
|
do b.draw(true);
|
||
|
return last;
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
}
|