| ちゃんと自機がカーソルに従って動いた理由の解析 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
確認の意味で、謎だった部分を書き出してみましょ。「暗記しましょう」はいいんだけど、訳がわからないと悔しいもんね^^;
※ MX , MY ・・・ 自機の座標 ※ MOVE ・・・ 自機の移動速度 んで、STICK命令で返される値が次の通りね。
ここで注意なのは、同時に押された場合。←→が同時に押されてる場合、返される値は「 5 」になる。↑→なら「 6 」だね。論理演算は2進法で考えざるを得ないんで、全部の組み合わせを2進法になおして表記してみましょう。
見事に全部違う値が返されました。これはあくまで想像だけど、STICKの命令で返される値は、全部の組み合わせが違う数値になるんじゃないかな?こんなこと考える人って天才か変態かどっちかだと思う。あっしのような凡人にはとても真似できない^^; 閑話休題 さて、←↑が押された場合ってのを考えてみましょう。この場合「PAT=3」なので、この2行はこんな感じになる。
はい、見事にXVもYVも-1になりました。はっきり言って、お見事!の一言です。さすがに全部の組み合わせを試してみる気にはなれないけど、完璧に動いてるってことは、全ての組み合わせがちゃんとこういう感じになるってことですね。ちなみに←→っていうような、相反する組み合わせで押された場合でも、ちゃーんとx軸の運動量は0になります。つまり動かないっつーこと。こうやって論理演算で処理させてるから、キビキビとカーソルに反応するプログラムにできるんですね。CPUに優しく、操作する人にも優しく、プログラムを組む人には厳しく・・・(爆)
|