HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0129
agetkeyで今何もボタンを押していないの記述6解決


a

リンク

2015/1/29(Thu) 07:06:21|NO.67151

こんにちは。

例えば、

getkey K,1

if K : a=1

これはマウスの左を押している間だけaに1が代入される。

となりますよね。

なら、

マウスの左を離している間はa=5を代入したいと記述するにはどうしたらいいですか?

つまり、
Kに何も入力されてないという記述は

K !=1でもダメだし、
K =0 でもダメですよね…

よろしくお願いします。



この記事に返信する


mamo

リンク

2015/1/29(Thu) 07:55:12|NO.67152

左ボタンを操作したときのKの値を監視・表示してみたら分かるんじゃないかな。



KOMARI

リンク

2015/1/29(Thu) 10:32:51|NO.67153

HSP Document Libraryは読みましたか?(・ω・)
getkeyの項の解説に、

指定したボタンが押されていれば、1を代入し、押されていなければ0が代入されます。
と書いてあります。

で回答ですが、思考停止で書くなら

if K : a=1 : else : a=5
でいいです。

以下は余談です。

なぜ

if K : a=1
と書くと、
>>これはマウスの左を押している間だけaに1が代入される。
となる(if分岐がTRUE扱いになる)かは分かってますか?(・ω・)



a

リンク

2015/1/29(Thu) 18:12:22|NO.67156

ありがとうございます。

スイッチaについてです。

①何も押していない→a=0
②1を押している→a=1
③2を押している→a=2
④3を押している→a=3

初期値でa=0を入れました。
しかしながら
1を押し、a=1を入れる。
しかしながら1を離してもa=1のままなんです。

もしgetkey命令が1を押している間だけa=1だとするなら
離してもなんでa=0に戻らず、a=1のままなんでしょうか?

僕がこまっているのは以下の通りことです。

なにもボタンを押していない時には、a=0にしたい。
しかしながらa=1のままなので
「何も押していないと」a=0になる。という記述をしたいんです。



mamo

リンク

2015/1/29(Thu) 18:25:46|NO.67157

以下でkの値が変化なし?

repeat getkey k, 1 title "" + k wait 10 loop



たんす

リンク

2015/1/29(Thu) 20:44:19|NO.67159

>「何も押していないと」a=0になる。という記述をしたいんです。
「押されていないときには自動的に初期値に戻る」なんてことはありません。
然るべきタイミングで変数aに0を入力してください。


・getkeyでキー入力状態を確認する前に、結果を出力する変数aを初期化する。

a=0 getky K,1 if K:a=1


・キー入力がされていない時には、変数aに0を入力する。

getkey K,1 if K:a=1 if K=0:a=0

など、自分の希望する動作をスクリプトに記述することが大事です。



a

リンク

2015/1/30(Fri) 07:09:01|NO.67163

ありがとうございました!
みなさんのアドバイスのおかげで解決しました!

いいゲームが作れるようがんばります!



ONION software Copyright 1997-2025(c) All rights reserved.