カーソルキーで選択できるメニューウィンドウを作ります。
ウィンドウの表示には、前回と同じユーザー定義命令windowを使います。
mx,myは現在選択しているコマンドの座標です。スペースキーを押すとその座標に合わせてコマンドが実行されます。
このサンプルではコマンドを選択するとウィンドウの色が変わります。
buffer 1,300,110 color 0,0,255 boxf 0,0,180,70 screen 0,320,320 col = 2 //列の数 row = 3 //行の数 *main color 0,0,0 boxf 0,0,320,320 gosub *keyEvent gosub *drawMenu //メニューの描画 redraw 1 :wait 5 :redraw 0 goto *main #module #deffunc window int x,int y,int wid,int hei gmode 3,0,0,128 pos x,y gcopy 1,0,0,wid,hei color 255,255,255 line x,y,x+wid,y line x,y+hei line x+wid,y+hei line x+wid,y return #global //メニューの描画 *drawMenu font "MS ゴシック",12 window 10,15,180,70 color 255,255,255 pos 30,25 mes "RED BLACK" pos 30,45 mes "BLUE YELLOW" pos 30,65 mes "GREEN RANDOM" pos 15+80*mx,25+20*my mes "⇒" return *keyEvent stick key if key = 1:mx-- if key = 2:my-- if key = 4:mx++ if key = 8:my++ if mx = -1 :mx = col-1 if mx = col :mx = 0 if my = -1 :my = row-1 if my = row :my = 0 if key = 16{ //スペースキーを押したときの処理 gsel 1 if mx=0 & my=0 :color 255,0,0 if mx=1 & my=0 :color 0,0,0 if mx=0 & my=1 :color 0,0,255 if mx=1 & my=1 :color 255,255,0 if mx=0 & my=2 :color 0,255,0 if mx=1 & my=2 :color rnd(256),rnd(256),rnd(256) boxf 0,0,180,70 gsel 0 } return