;−−−−−−−−−−−−−−−−−−−−−−−−−−−
;
;今回はテキストの読み込み方については省略させてもらいます。
;期待するものはこれで足りると思います
;
;−−−−−−−−−−−−−−−−−−−−−−−−−−
*main
w_x=640 : w_y=480 ;ウィンドウのサイズ
screen 0,w_x,w_y,1
f_size=40 ;フォントの大きさ
font "MSゴシック",f_size
sdim if_3,30,3 ;表示する三行を入れる変数
if_3="右に進んでみる","直進してみる","左に進んでみる"
if_kari=3 ;分岐の数
text_x=60 : text_y=w_y-(f_size*if_kari) ;テキストの表示開始位置
;これを変えると位置が変わります。
count=-1: j=-1 ;文字の反転のための初期化(詳しくは画像ボタンに(^^;)
goto *if_syokihyouji ;始めから、文字に色をつけないため
;文字の上にマウスカーソルがあるかの判定ルーチン
*if_kurikaesi
count=-1 ;カーソルが文字以外のときに−1となる(文字の色が変わらなくなる)
;ためしにコメントアウトしてみると分かると思います(^^)
await 1
if (mousey>(text_y))&(mousey<(f_size+text_y)) : count=0 ;1行目カーソルがあれば
if (mousey>(f_size+text_y))&(mousey<(f_size*2+text_y)) : count=1 ;2行目カーソルがあれば
if (mousey>(f_size*2+text_y))&(mousey<(f_size*3+text_y)) : count=2 ;3行目カーソルがあれば
if (count>=0)&(count<=2) : stick kari,,1 ;1〜3行目にカーソルがあるときだけ、クリックのチェック
if kari=256 : goto *if_nukeru
if j=count : goto *if_kurikaesi ;jは同じ所にマウスがあるかの判定(すぐ下に有ります)
;書き換えによるちらつき、および処理の軽減のためです
;コメントアウトすると分かります。大切さが(^^)
;文字の表示ルーチン
*if_syokihyouji
j=count ;前回のカーソルのあった位置をjに入れます。
;これもないと処理落ちしますし、文字の色が残ります(^^;
redraw 0
repeat if_kari,0
;先に黒の文字を全方向に1ずらして書きます
color 0,0,0
pos text_x+1,(f_size*cnt)+text_y : mes if_3.cnt
pos text_x-1,(f_size*cnt)+text_y : mes if_3.cnt
pos text_x,(f_size*cnt)+text_y+1 : mes if_3.cnt
pos text_x,(f_size*cnt)+text_y-1 : mes if_3.cnt
;その後に、白の文字を書きます
color 255,255,255
if count=cnt : color 255,255,0 ;カーソルが上にあれば黄色にします。
pos text_x,(f_size*cnt)+text_y : mes if_3.cnt
loop
redraw 1
goto *if_kurikaesi
*if_nukeru
;−−−−−−−−−−−−−−−−−−−−−−−−−−−
;
;ここからがマウスで、文字を選択された後の処理
;今の場合には、countという変数に、どの選択肢を選んだかという情報が入っています。
;(1行目なら0、2行目なら1という風に)
;
;−−−−−−−−−−−−−−−−−−−−−−−−−−
if count=0 {
dialog "右は崖だった!!"
}
if count=1 {
dialog "お化けが現れた!!"
}
if count=2 {
dialog "森が見えてきた!!"
}
goto *main
|