質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

11243閲覧

Unityでジョイパットの十字キーの上下を押したときに、Input.GetAxis("Vertical")により値を取得したい

CCIT

総合スコア14

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/05/15 14:09

###前提・実現したいこと
UNITYでジョイパットで十字キーの上、下による入力を行いたい

###発生している問題
UNITYでジョイパットで十字キーの上、下による入力を受け付けてくれない

###該当のソースコード

C#(Unity)

1if (Input.GetAxis("Vertical") < 0.1f) 2{ 3//操作1を行います コードは省略 4} 5else 6{ 7//操作2を行います コードは省略 8} 9 10###試したこと 11INPUTマネージャーの設定を確認 12 13###補足情報 14上記のコードで問題が発生しています。 15ジョイスティクによる十字キーの入力で上下のキーを押した場合 16上を押せば、~+1の値が 下を押せば~-1の値を取得できるはずなのですが 17常に0となっていて、入力を受け付けてくれません 18 19ゆえに上記コードの操作1しか実行できません 20十字キーの上を押した場合操作2が実行されるようにしたいのです 21 22INPUTマネージャーの設定は下記のようになっております 23 241つ目のVertical 25Name Vertical 26Negative Button down 27Positive Button up 28AltNegative Button s 29AltPositive Button w 30Gravity 3 31Dead 0.001 32Sesitivity 3 33Snap チェック 34Type Key or Mouse Button 35Axis Y axis 36Joy Num Get Motion from all Joysticks 37 382つ目のVertical 39Name Vertical 40Gravity 3 41Dead 0.001 42Sesitivity 3 43Snap チェック 44Type Joystick Axis 45Axis Y axis 46Joy Num Get Motion from all Joysticks 47 48Verticalに関しては上記のような設定になっております。 49この場合1つ目のVerticalは有効で 50キーボードの矢印キーの上を押している間は 51操作1が実行されているので、Verticalが有効である事は確認できました。 52 53しかし、ジョイスティックで上を押した場合 54上を押しても、Verticalが有効にならずにこまっております。 55 56最終的に、ジョイパット十字キーの上を押した場合 57下記コードの 58操作1が実行されれば問題は解決できます。 59 60if (Input.GetAxis("Vertical") < 0.1f) 61{ 62//操作1を行います コードは省略 63} 64else 65{ 66//操作2を行います コードは省略 67} 68 69どうすれば、解決できるのか、知恵をお貸しください 70よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

十字キーとは別にスティックがあるジョイパッドの場合、十字キーに「Y axis」に割り振られていない可能性が高いです。

Aボタン→Button1
Bボタン→Button2
...
十字キー上→Button5
十字キー下→Button6
のように「ボタン」扱いになっていたり。

左スティックの上下→Y axis
左スティックの左右→X axis
...
十字キーの上下→3rd axis
十字キーの左右→4th axis
のように「Axisの名前が違う」ことになっていたり。

使用しているジョイパッドの説明書や公式サイトを見るか、「デバイスの設定」を見ると十字キーに何が割り振られているか分かるので、そちらを確認してみてください。

投稿2017/05/16 06:36

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CCIT

2017/05/19 13:43

回答ありがとうございます。 自分が使用しているコントローラーですが 十字キーとは別にスティックはついていません ゲームコントローラーのテストでも 十字キーの上下にボタンが割り振られているということはなく 十字キーの左右はX軸、十字キーの上下はY軸となっていました 十字キーの左右は if (Input.GetAxis("Horizontal") < 0.1f) { //操作1を行います コードは省略 } else { //操作2を行います } という上下のコードが上手く動いていて 十字キーの左右はOKなのに 上下はうまくいかないという、不思議な状態になっております。 ゲームをプレイしても十字キーが壊れているという事はありません PCでもエラーなく認識されております。 現状解決できないので、別のコントローラーを購入して もう一度ためしてみたいと思います。 回答ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問