Home > スポンサー広告 > TempAR - パッドコード2 アナログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント: -

Home > スポンサー広告 > TempAR - パッドコード2 アナログ

Home > TempAR Usage > TempAR - パッドコード2 アナログ

TempAR - パッドコード2 アナログ


TempARではアナログパッドもパッドコードとして使えます。
…と、Readme.htmlに説明が書いてあるのですが、以前は
さっぱり使い方が分かりませんでした。

今回はアナログパッドのパッドコードに関する話ですが
いきなりパッドコードの使い方の話に入る前に
Fake Addressに何が書かれているか、
Fake Addressから値をコピーして別アドレスに値を書き込み、
その値を確認することを通じて、Fake Addressをもう少し
理解してみたいと思います。


Fake Address


_C0 Axis-X Test
_M 0xDB000000 0x0A000004 # 0x0A000004+offsetから8bit読み込み
_M 0xD8000000 0x08801000 # 0x08801000+offsetへ8bit書き込み
_M 0xD2000000 0x00000000

Fake Addressにはパッドの状態が記録されています。
これの値を見ることでパッドの状態を知ることが出来ます。
値を見るには一度どこかのアドレスにコピーする必要があります。

このコードをONにして、アナログパッドを動かしつつ
TempARを呼び出すと、0x08801000の値が変化します。
アナログパッドから手を離した場合は、おおよそ中心の値を
指しますがアナログなので毎回数字が若干違います。

アナログの値を(x,y)の座標平面に置き換えると
原点(0,0)は左上です。右方向がXのプラス方向で
下方向がYのプラス方向です。最大値はFF。中心値は約7F。

別の書き方をすると、次のようになります。
アナログパッドを右に倒せば7F~FF
アナログパッドを左に倒せば00~7F

アナログ中心にはぶれがあるので実際の数字は
もう少し幅を狭めて運用する必要がありますが
考え方としては上の表記で覚えておけばいいでしょう。


アナログパッドを使ってみる


_C0 X-Axis R-2 L-1
_M 0x7A000004 0x000000A0
_M 0x08801000 0x22222222
_M 0xD0000000 0x00000000
_M 0x8A000004 0x00000060
_M 0x08801000 0x11111111
_M 0xD2000000 0x00000000

このコードの効果は次の通りです。

・アナログパッドを右に倒したら
 アドレス0x08801000に0x22222222を書き込む
・アナログパッドを左に倒したら
 アドレス0x08801000に0x11111111を書き込む

ニュートラル時の中心座標にぶれがありますが、
それでも0x7F±0x20まで行くことは無いようです。
アナログパッド右、左を判断させるのに数値の大小判定を利用します。
数直線をイメージすると分かりやすいでしょう。

まず、右の下限を0xA0とします。次に、左の下限は0x60とします。
0x7コードは「より大きい」、0x8コードは「より小さい」時に
実行するコードタイプです。

・0xA0より大きければ、アナログ右が押されていると判断する。
・0x60より小さければ、アナログ左が押されていると判断する。


これでアナログパッドをパッドコードに利用出来るようになりました。

最後は、パッドコードを利用した数値増減コードです。
パッドで↑を押したら数値を1加算したいと思っても
そのままではあっというまに10単位で加算してしまいます。
これをどうにかします。




関連記事
スポンサーサイト

コメント: -

Home > TempAR Usage > TempAR - パッドコード2 アナログ

Return to page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。