Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2016/03/25 (金)

アナログジョイスティックの場合

| 17:09 | アナログジョイスティックの場合 - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - アナログジョイスティックの場合 - 雪乃☆雫のなでしこ日和 アナログジョイスティックの場合 - 雪乃☆雫のなでしこ日和 のブックマークコメント

 ゲームパッドが使えるとゆうことを知り、異常にテンションを上げたワタシだけど、頭の中がゲームのわりには大したゲームがプレイ出来ないから、実は家にはPCようのゲームパッドなんてない(爆)

 唯一あったのが、ン十年前のセガサターン、初代プレステ(笑)、ドリームキャスト(!)のコントローラーをUSBでPCにつなげるようにするというアダプター。

 同様のアダプターは当然あるだろうけれど、つなげる機器が泣けるねwww

 Win7でも使えるのか・・・? と思いながら挿してみたら、サターンパッドがふつーに使えたよ!

 ・・・とゆーわけで、それで色々ためして遊んでいたんだけれど、アナログジョイスティックの場合は、ふつーのデジタルの十字キーとはまた異なるということを教えて頂いた。

 アナログは、どのくらい押されたか、スティックの傾きの値が段階的に取得出来るらしいんだけど、ここで重要なのは、斜めの場合に必ずしも限界値まで入らないよ、ということ!

 あまり詳しいことは分からないけれど、とにかくこれはよろしくありません。

 なぜなら、デジタルの場合(うちでサターンパッドでためした結果)押されていない時は「$7FFF」、上/左は「0」、下/右は「$FFFF」の値が、それぞれ「dwYpos」と「dwXpos」に帰ってくるので、オンオフで8方向を取得するとゆうサンプルをつくり、あまつさえそれを掲示板に乗っけてしまったからです。

 こんな感じね。

    UD=A.dwYpos
    LR=A.dwXpos
    もし、(UD=$FFFF)ならば
      もし、(LR=$FFFF)ならば、JOY_十字キー=「右下」
      違えばもし、(LR=0)ならば、JOY_十字キー=「左下」
      違えば、JOY_十字キー=「下」
    違えばもし、(UD=0)ならば
      もし、(LR=$FFFF)ならば、JOY_十字キー=「右上」
      違えばもし、(LR=0)ならば、JOY_十字キー=「左上」
      違えば、JOY_十字キー=「上」
    違えばもし、(LR=$FFFF)ならば、JOY_十字キー=「右」
    違えばもし、(LR=0)ならば、JOY_十字キー=「左」
    違えば、JOY_十字キー=「」
    オン戻る

 アナログコントローラーの場合、これじゃ8方向は取れないってことになるんじゃない?(汗)


 しかし、ウチにはアナログジョイスティックなんてない~~~・・・と思っていたら、PSようのところにPS2のコントローラーがふつーに挿さり、ANALOGボタンを押したら、左側のスティックがアナログモードで認識されました!すごい!!

 ためしてみたら、やはり上下左右の4方向しか認識しない

 値を取ってみると、・・・古くておまけに雑に扱われていたせいか、中央の値が一定してないよw しかも、上下は「$7EFF~$6FFF、左右は「$7FFF~$9659」と若干右上に曲がってしまってるっぽいwww

 しかしまあ、それそれとして、ぐりぐりしてみると、細かく値が返ってくるけど、一応ぐるっと360度、で動いた時のX軸Y軸で考えた場合の座標なのかなー?などと予想するも、一方の値が限界値のままというが案外多いので、こまできめ細やかでもない

 これはもちろん、のジョイスティックの性能とかにもよるんだろうね?

 本来、アナログスティックは、いっぱい押したら早く動いたり・・・みたいな、押し加減でびみょーな動きを実現出来たりするものだろうけど、んなヤツが作れるような気はしないので、擬似的にオンオフを取って8方向認識出来るようにさえなればいいんじゃないの?

 とゆーわけで、こうなった。

    UD=A.dwYpos
    LR=A.dwXpos
    もし、(UD>$D888)ならば
      もし、(LR>$D888)ならば、JOY_十字キー=「右下」
      違えばもし、(LR<$2777)ならば、JOY_十字キー=「左下」
      違えば、JOY_十字キー=「下」
    違えばもし、(UD<$2777)ならば
      もし、(LR>$D888)ならば、JOY_十字キー=「右上」
      違えばもし、(LR<$2777)ならば、JOY_十字キー=「左上」
      違えば、JOY_十字キー=「上」
    違えばもし、(LR>$D888)ならば、JOY_十字キー=「右」
    違えばもし、(LR<$2777)ならば、JOY_十字キー=「左」
    違えば、JOY_十字キー=「」
    オン戻る

 $2777とか$D888とかの数値は暫定です。

 イメージ的に、こんなもんじゃないかにゃーと入れてみたけど、妥当かどうかは不明;;;

 まっ、いちおう8方向認識出来るようにはなりました。

 でも・・・さらだけど8方向ってゆうのは、サターンパッドだったからこで、プレステの十字キーなんかじゃ2ボタンを同時押ししなきゃならないコトになって現実的じゃないし、アナログモードでは正確に斜めに入れられるかって言うとびみょーだし、あんま意味ないんじゃないの?orz

 度札幌に行ったら、イマドキのゲームパッドはどんなもんなんだか、みてこようwww

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20160325