入力

	repeat
		getkey a,1
		if a==1 {
			 title "マウスが押されています"
		}
		else {
			title "マウスは押されていません"
		}
		wait 1
	loop

任意のキーの状態を調べるのにはgetkey命令を使用します。この命令は 任意のキー(またはマウスのボタン)が押されているか押されていないかを調べるもので、 押された瞬間の判定はonkey命令を使用すると良いでしょう。調べられる キーに関してはhelpを参照してください。


	repeat
		stick a
		s=""
		if a&1 : s+="←"
		if a&2 : s+="↑"
		if a&4 : s+="→"
		if a&8 : s+="↓"
		if a!=0 : title s+"が押されました" : wait 10
		if a==0 : title ""
		wait 1
	loop

getkey命令では一度にひとつのキーしか判定できません。stick命令では 複数(またはひとつ)のキーが押されたかを判定することができます。 getkey命令とは違い、押されている間は判定されません。 さらに、getkey命令と比べて調べられるキーの種類は限られます。 ifの判定についてはちょっと難しい話?を参照してください。


	repeat
		stick a,5	;1+4
		s=""
		if a&1 : s+="←"
		if a&2 : s+="↑"
		if a&4 : s+="→"
		if a&8 : s+="↓"
		if a!=0 : title s+"が押されました" : wait 10
		if a==0 : title ""
		wait 1
	loop

getkey命令と同様に押されつづけていてもその情報が欲しい場合には stick命令の第2パラメータにそのボタンの数値を指定します(複数の場合は 全て足し合わせた数値にします)。この場合、左と右は押されつづけていても 判定されます。


	repeat
		stick a,5,1	;1+4
		s=""
		if a&1 : s+="←"
		if a&2 : s+="↑"
		if a&4 : s+="→"
		if a&8 : s+="↓"
		if a!=0 : title s+"が押されました" : wait 10
		if a==0 : title ""
		wait 1
	loop

stick命令の第3パラメータを1にすると、HSPのウィンドウが選択されていない場合には キーのチェックをしなくなります。つまり、これを1にしなければ、HSPが実行されている 間は常にキーのチェックができることになります。


	onclick *click
	stop
*click
	check=wparam
	if check==1 : mes "左"
	if check==2 : mes "右"
	if check==16 : mes "中"
	stop

ウィンドウ内のマウスでクリックの判定には onclick命令を使用します。強制的に指定したラベルにジャンプします。 システム変数wparamに押されたマウスのボタンの 情報が入ります。なお、同時押しの場合はこれらの値が加わったもの(左と右なら1+2=3) になります。また、一時的にonclick命令の機能をoffにしたければonclick 0、再びonにするには onclick 1とすれば良いです。


	onkey *key
	stop
*key
	code=wparam
	mes code
	stop

ウィンドウ内でキーボードが押された場合の判定には onkey命令を使用します。強制的に指定のラベルにジャンプします。 システム変数wparamに押されたキーボードの 情報が入ります。この主な情報は
65〜90:a〜z
112〜121:ファンクションキー [f1]〜[f10]
などとなっています。詳しくはgetkey命令のhelpに書いてあります。また、このサンプルプログラムを 実行すれば、どのキーを押すとどんな数字が得られるかは確認できると思います。 なお、同時押しの判定は無いです。また、一時的にonkey命令の機能をoffにしたければonkey 0、再びonにするには onkey 1とすれば良いです。


	dialog "HSP難しいですか?",2
	if stat==6 : mes "僕のHPで勉強しましょう"
	if stat==7 : mes "次はプログラム技術ですね"
	stop

はい、いいえの選択をさせるにはdialog命令を使用すると便利です。 第2パラメータを3にすると警告になります(0,1は確認用で、OKボタンしかありません)。


	dialog "色を選んでください",33
	if stat==0 : mes "キャンセルされました" : stop
	mes "赤:"+rval+" 緑:"+gval+" 青:"+bval
	stop

色を入力させるにはdialog命令を使用すると便利です。 第2パラメータを32または33にすると色の選択ができます。選ばれた色の RGB値はそれぞれrval,gval,bvalに代入されます。


■ 目次へ戻る ■

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


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