;−−−−−−−−−−−−−−−−−−−−−−−−−−−
;
;今回はテキストの読み込み方については省略させてもらいます。
;期待するものはこれで足りると思います
;
;−−−−−−−−−−−−−−−−−−−−−−−−−−


*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
説明はほとんどプログラムの中に書いてあるので、ここでの説明はほとんどいらないと思います。
主に画像ボタンと考え方はほとんど変わりません。
マウス座標を判定する範囲は、文字のサイズと、文字数で計算ができます。
また、選択するさせる文字列は、配列変数に入れるのを忘れないでください。

今回は表示選択した後の処理は一行なので、簡単に書くことができましたが
実際には、サブルーチンにしてgosubで飛ばしたほうがいいと思われます。
■ 目次へ戻る ■

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル