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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0826
火狐キー判定で押した瞬間しか判定してくれない。6解決


火狐

リンク

2013/8/26(Mon) 19:54:54|NO.56657

解りずらいタイトルですいません。
次のプログラムを実行していただけば言っている意味が分かると思います。

MX=240:MY=160 cls 4 TAMA=0 KY=0 stick KY,31 dim SX,10 :dim SY,10 :dim TAMA,10 color 255,255,255 mes "スタート" repeat stick KY,31 if (KY&16)=16 :gosub *hazime await 10 loop *hazime stick KY,16 redraw 0 color 0,0,0 boxf 0,0,999,999 color 255,255,255 if (KY&1)=1 :MX=MX-8 :if MX<0 :MX=0 if (KY&4)=4 :MX=MX+8 :if MX>1280 :MX=1280 if (KY&2)=2 :MY=MY-8:if MY<0 :MY=0 if (KY&8)=8 :MY=MY+8 :if MY>799 :MY=799 pos MX,MY mes "自キャラ" redraw 1 await 1 goto *hazime



この記事に返信する


暇人

リンク

2013/8/26(Mon) 20:05:48|NO.56659

stickのヘルプに
>p2に押しっぱなしでも検出されるキーのコード
>(上の表にあるコードです。複数の場合はそれぞれの数値を加えます)
>を指定すると、そのキーだけはボタンが押されている間ずっと検出されるようになります。
って書いてある
>stick KY,16
1+2+4+8なら15
スペースも追加するなら31になる



ht.

リンク

2013/8/26(Mon) 20:11:16|NO.56665

タイトルの意味は分かりましたがソースだと何がしたいのか分かりませんでした。
stick命令の第二引数を指定することで押しっぱなしを検知できるようになります。
スクリプトエディタのF1でヘルプを起動することによって命令の説明を参照できるのでお試しください。

stick命令は、 getkey命令によく似ていますが、最大の違いはボタンが押された瞬間だけを 検出する点です。つまり、ボタンが押された時に1度だけ押されている情報を返し、あとは 押されているボタンをはなすまでは、押されていることになりません。 ただし、p2の非トリガータイプキー指定により、押しっぱなしであっても情報を検出するこ とができるようになります。 p2に押しっぱなしでも検出されるキーのコード(上の表にあるコードです。 複数の場合はそれぞれの数値を加えます)を指定すると、 そのキーだけはボタンが押されている間ずっと検出されるようになります。
引用が横に長くなったので修正。すでに暇人さんが転載されていますが。



火狐

リンク

2013/8/26(Mon) 20:21:54|NO.56667

ありがとうござます
ではどのようにプログラムを修正すればいいでしょうか?



暇人

リンク

2013/8/26(Mon) 20:30:28|NO.56669

え?

>stick KY,16
1+2+4+8なら15
スペースも追加するなら31になる

を見てない?



火狐

リンク

2013/8/26(Mon) 20:32:19|NO.56670

ありがとうございます



Ve

リンク

2013/8/26(Mon) 20:33:03|NO.56671

stick KY,31って自分で書いてるのに・・・? (^^;)



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