switch文による分岐が上手くいかず、
質問させて頂きます。
※actionscript3.0ですが、switch文が分かる方でしたら大丈夫かと思います。
▽このような並びのイメージ
A1↔B1
↕ ↕
A2↔B2
↕ ↕
A3↔B3
//_changeFocus()は、十字キーを押すと呼び出される仕組み(確認済み) protected function _changeFocus():void { trace("_paramFocus_pre = " + _paramFocus); switch(_keyDirection) { case "UP": switch(_paramFocus) { case "A1": _paramFocus = "A1"; break; case "A2": _paramFocus = "A1"; break; case "A3": _paramFocus = "A2"; break; case "B1": _paramFocus = "B1"; break; case "B2": _paramFocus = "B1"; break; case "B3": _paramFocus = "B2"; break; } case "DOWN": switch(_paramFocus) { case "A1": _paramFocus = "A2"; break; case "A2": _paramFocus = "A3"; break; case "A3": _paramFocus = "A3"; break; case "B1": _paramFocus = "B2"; break; case "B2": _paramFocus = "B3"; break; case "B3": _paramFocus = "B3"; break; } case "LEFT": switch(_paramFocus) { case "A1": _paramFocus = "A1"; break; case "A2": _paramFocus = "A2"; break; case "A3": _paramFocus = "A3"; break; case "B1": _paramFocus = "A1"; break; case "B2": _paramFocus = "A2"; break; case "B3": _paramFocus = "A3"; break; } case "RIGHT": switch(_paramFocus) { case "A1": _paramFocus = "B1"; break; case "A2": _paramFocus = "B2"; break; case "A3": _paramFocus = "B3"; break; case "B1": _paramFocus = "B1"; break; case "B2": _paramFocus = "B2"; break; case "B3": _paramFocus = "B3"; break; } trace("_paramFocus = " + _paramFocus); } }
//出力 Main._keyDownHandler(e.keyCode= 38 ) _keyDirection = UP _paramFocus_pre = A1 _paramFocus = B2 Main._keyDownHandler(e.keyCode= 40 ) _keyDirection = DOWN _paramFocus_pre = B2 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 40 ) _keyDirection = DOWN _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 40 ) _keyDirection = DOWN _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 40 ) _keyDirection = DOWN _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 37 ) _keyDirection = LEFT _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 37 ) _keyDirection = LEFT _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 37 ) _keyDirection = LEFT _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 39 ) _keyDirection = RIGHT _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 39 ) _keyDirection = RIGHT _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 38 ) _keyDirection = UP _paramFocus_pre = B3 _paramFocus = B3 Main._keyDownHandler(e.keyCode= 38 ) _keyDirection = UP _paramFocus_pre = B3
おかしい挙動がありつつも、1、2、3と、下がっていくことはできるのですが、
B3にたどり着いたあと、上下左右どちらに入力しても、B3のままになってしまいます、、
switchを、_paramFocusとdirectionを逆にして書いてみたり、色々検証してみたのですが、
わからなかったので、どなたかお助け頂けると幸いです、、
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。