Flashのゲームパッドの対応で、備忘録と言うわけではないけど
他にこの部分で詰まっている方がいれば参考になればと思い アクションスクリプトをここに記述しておきます。 まず大前提として、フラッシュプレイヤーの最新版をパブリッシュできるようにしておいてください。 そのやり方はここでは省きますが、わりと自己責任系だったりしますのでお気をつけを~。 まずFlash内に"t"というインスタンス名のダイナミックテキストを配置してください。 そして下の記述をコピペしてください。 ちなみに、フラッシュプレイヤーを最新の物にしておかないとエラーが出ます。 そして、プレビューモードではパッドを認識しません。 //------------------------------------------------------------------------ var myGameInput:GameInput; myGameInput = new GameInput(); var text:String = ""; text += String("\nGameInput.isSupported - " + GameInput.isSupported); text += String("\nGameInput.numDevices - " + GameInput.numDevices);////デバイス番号、パッドが二つ以上刺さっている時に何個刺さっているか text += "\n"+Capabilities.version; t.text = text; // ゲーム入力デバイスが追加されたときに呼ばれるリスナ関数を追加 myGameInput.addEventListener(GameInputEvent.DEVICE_ADDED, onAdded); // ゲーム入力デバイスが削除されたときに呼ばれるリスナ関数を追加 myGameInput.addEventListener(GameInputEvent.DEVICE_REMOVED, onRemoved); ///////////////////////////////////////////////////////////// ////入力デバイスが追加された時のファンクション function onAdded(e:GameInputEvent):void { t.text = "ゲーム入力機器が追加されました\nID:"+ e.device.id + " NAME:" + e.device.name + " NUM:" + String(e.device.numControls); myDev(e.device); }///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// ////入力デバイスが削除された時のファンクション function onRemoved(e:GameInputEvent):void { t.text = "ゲーム入力機器が削除されました\nID:"+ e.device.id + " NAME:" + e.device.name + " NUM:" + String(e.device.numControls); } ///////////////////////////////////////////////////////////// var myDevice;////デバイス情報の保存用変数 /////入力デバイスの追加によって得られる情報を書き出すファンクション function myDev(dev:GameInputDevice):void{ myDevice = dev;///受け取ったデバイス情報を保存します myDevice.enabled = true;///これをしないと動かないみたい(ボタンモードtrue見たいなもの) //////////////////////for///////////////////////////////////////////////////////////////// for (var i:int=0; i < myDevice.numControls; i++){/////全部のボタンをforで見ている var myControl:GameInputControl = myDevice.getControlAt(i); myControl.addEventListener(Event.CHANGE, onChange);////ボタンを押しているか放しているかの認識は無い function onChange(e:Event):void////状態が変わったという事のみを見ている { var control:GameInputControl = e.target as GameInputControl; var myVal:Number = control.value;////valueは押した量、十字キーとかは-1から1までの間を見る///ここの量で押しているかどうかを認識 var myID:String = control.id; }///ファンクションの終了 }//////////////////forの終了//////////////////////////////////////////////////////// } //------------------------------------------------------------------------ えーと、はっきり言いまして、もっとわかりやすい書き方はあると思います。 上のはあくまでまったくわからないけどFlashでとりあえずパッド対応させたい と言う人用だと割り切ってください。 実際に起動してみて、パッドを動かしてみて、そこに表れた数値を見て そこまでこれた人なら、表示された数値を見て実装する事ができると思います。 がんばってみてください!
by hoppema
| 2013-09-03 23:17
| プログラム
|
カテゴリ
以前の記事
2017年 04月 2016年 12月 2016年 10月 2016年 07月 2016年 06月 2016年 03月 2016年 01月 2015年 12月 2015年 11月 2015年 10月 2015年 09月 2015年 08月 2015年 06月 2015年 05月 2015年 03月 2015年 02月 2015年 01月 2014年 12月 2014年 11月 2014年 10月 2014年 09月 2014年 08月 2014年 07月 2014年 06月 2014年 05月 2014年 04月 2014年 03月 2014年 02月 2014年 01月 2013年 12月 2013年 11月 2013年 10月 2013年 09月 2013年 08月 2013年 07月 2013年 06月 2013年 05月 2013年 04月 2013年 03月 2013年 02月 2013年 01月 2012年 12月 2012年 11月 2012年 10月 2012年 09月 2012年 08月 2012年 07月 2012年 06月 2012年 05月 2012年 04月 2012年 02月 2012年 01月 2011年 11月 2011年 10月 2011年 09月 2011年 08月 2011年 07月 2011年 06月 2011年 05月 2011年 04月 2011年 03月 2011年 02月 2011年 01月 2010年 12月 2010年 11月 2010年 10月 2010年 09月 2010年 08月 2010年 07月 2010年 06月 2010年 05月 2010年 04月 2010年 03月 2010年 02月 2010年 01月 2009年 12月 2009年 11月 2009年 10月 2009年 09月 2009年 08月 2009年 07月 2009年 06月 2009年 05月 2009年 04月 2009年 03月 2009年 02月 2009年 01月 2008年 12月 2008年 11月 2008年 10月 2008年 09月 2008年 08月 2008年 07月 2008年 06月 2008年 05月 2008年 04月 2008年 03月 2008年 02月 2008年 01月 2007年 12月 2007年 11月 2007年 10月 2007年 09月 最新のトラックバック
検索
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|