コピペ4〜色々いじくれ


159 :非通知さん@アプリ起動中 :ID:DCQ6gsMt0
label 0
if(input(0)){end}
if(scan>>12&1){y--}
elsif(){scan>>15&1){y++}
if(scan>>13&1){x--}
elsif(scan>>14&1){x++}
frect(x,y,20,20)
goto 0
とりあえずこれでも見て理解するまでいじり倒すといい。俺が最初触った時はサンプルが一番の資料だった
161 :SPALM:ID:ta4InQoPO
エラーになりました…

162 :SPLAM:ID:ta4InQoPO
最後のgoto 0の部分がエラーに…
163 :非通知さん@アプリ起動中 :ID:W3py2nqYO
こうすればとりあえず動くんだが…
label 0
if(scan==1){end}
if(scan>>12&1){y--}[else if(scan>>15&1){y++}]
if(scan>>13&1){x--}[else if(scan>>14&1){x++}]
frect(x,y,20,20)
goto"0"
(gotoするときは""をつけないといけない。)

しかし…自分にもよく分からない部分があるなw
scan>>12&1
これの>>と&が今一つわからない。
12〜15はキーコードの並び順に対応してるのかな?

二行目をif(scan>>0&1){end}にしても同じ動作するみたいだ…

は…

164 :非通知さん@アプリ起動中 :ID:DCQ6gsMt0

163修正サンクス!しかしgoto 0は動くはずだぞ?だめならそのSPALMは何かおかしい・・・
scanの12〜15ビット目は方向キーに対応するから例えば右を押していたらscanは
00000000 00000000
01000000 00000000
で、右シフトを14ビットすれば00000000 00000000
00000000 00000001
になり1ビット目を&で取り出せば、押しているかがわかる。まぁ、
scan&0x4000
とすれば一発なんだがね。

165 :非通知さん@アプリ起動中 :ID:W3py2nqYO
あ、""無くても動いた…w

そうか自分の場合、いつもラベルを文字列にしてたから…

へぇ〜scanの値を返す仕組みって、そういう風になってるのか…自分もまだまだ勉強不足だな
166 :非通知さん@アプリ起動中 :ID:FygSTdzg0
それでよく使えてたなwむしろ俺は中身が分からないと使えないから、ビットパターン書き出したりして
使ってた。

167 :非通知さん@アプリ起動中 :ID:FygSTdzg0
それとinput()はキューから入力を一つずつ取り出してるから==比較で問題ないけど、

斜め移動とかしたいときは、同時押しをしてるか見たいのだからscanじゃないとダメだ。

scanは上でも言ったとおり32ビットの1〜18ビットが各キーに対応してるから&で値を取り出してやらないと
同時押しされた時に==じゃ上下にも左右にも動かなくなる

168 :SPLAM:ID:ta4InQoPO
ビットが何か分かりません…
169 :SPLAM:ID:ta4InQoPO
ちょwww
goto"0"
にしてもエラーwww

170 :非通知さん@アプリ起動中 :ID:G76a5uRt0
ちゃんとコピペしてる?2chブラウザアプリとか使うと楽よ?ネット使えるならビットとか
コンピュータの基本的なこと調べた方が早いかも

171 :SPLAM:ID:ta4InQoPO
あ、
出来ました!
でもどうやってこうなってるのかが分かりません…
あと、誰か自作アプリでこんなの出来たっていうの教えてくださいませんか?

172 :非通知さん@アプリ起動中 :ID:DCQ6gsMt0PC
なくともフルブラウザがあるだろうからWiki見れ
ttp://game.p-wiki.jp/mobilejava/(このwikiは見れません)