【SmileBasic】 Pi STARTER GOTO 1 【RPi】 (256レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
80
(1): 名前は開発中のものです。 [sage] 2018/10/13(土) 21:38:08.93 ID:EP2alaaL(1/3) AAS
>>79
79(1): 名前は開発中のものです。 [sage] 2018/10/13(土) 21:12:02.37 ID:y2Zqv89b(1/4) AAS
何度もすまん、マジ教えて

ゲームパッドの十字キーの上下を判別したいんだが、できない

みようみまねだがこんなリスト作った
while 1
b=button(0,-1,0)
if (b and #bid_up) then print "up"
if (b and #bid_down) then print "down"
vsync 1
wend

上を押したら「up」、下を押したら「down」と表示させたくてこう作ったんだけど
これだと上を押したら「down」と表示されてしまう
逆に下を押したら何も表示されない

ためしに、print format$("%06d",#bid_up)ってやってみたら「0」と、
print format$("%06d",#bid_down)ってやってみたら「1」と表示された
またbを表示させると、上を押すと「1」、下を押すと「2」と表示された

button()で機能IDに-1を指定するとこのbには、上が押されたら32bitの最下位2ビットに01が
下が押されたら10が格納されてくるのだと思ってたけど、違うの?
この#btn_xxxってラベルはウソなの?

ゲームパッドはロジクールのF310でXinputモード、PiSTARTERの設定もパッドの種類は「0」の
Xinputにそろえてあるしそっちのテスト画面では上下もボタンも正しく認識してる

本当助けてマジ吐きそう死にたい
if文の()は要らないんじゃ?

@button-test
vsync 1
b=button() 'カッコ内は基本値だったので省略してます
if b and #bid_up then print"up"
goto @button-test

とか

SmileBASIC-R 1.6.0 Reference Manual
外部リンク:app.smileboom.com
85
(1): 名前は開発中のものです。 [sage] 2018/10/13(土) 22:19:02.03 ID:EP2alaaL(2/3) AAS
ゲームパッドのキーアサインが特殊なのかな?

@test
vsync 1
b=button()
if b==#bid_up then print b
if b==#bid_down then print b
if b==#bid_left then print b
if b==#bid_right then print b
goto @test

こうやってパッドのボタンの数字をメモって

if b==1 then print"up"

とするしかないかな?
86
(1): 名前は開発中のものです。 [sage] 2018/10/13(土) 22:34:08.49 ID:EP2alaaL(3/3) AAS
PCの場合はゲームパッドのドライバでそれぞれのキーが割り当てられると思うけど
ロジクールのパッドは(他のパッドは大丈夫なのかな?)#BID_UPの内容とズレちゃってるのかも?

#〜は色変更とかでもcolor #TREDと使えるだけで、本来は数字指定でcolor 3とやっても良いからね
if b and 1 then print"up" とか if b==1 then print"up" でやるしかないかな

ただ、こうやった場合はプログラム配布する場合どうなるんだろう…という問題が出てくる気もする
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s