看板 Flash 關於我們 聯絡資訊
謝謝各位高手的指導~~~ 可行是可行~~~但是會變成必須得一直按~ 不接受壓住按鍵~ 有想過~ stage.addEventListener(Event.ENTER_FRAME, a); stage.addEventListener(Event.KeyboardEvent, b); function a(event:Event):void{ function b(event:KeyboardEvent):void{ if(Key.isDown==38) ... ... } } 這樣子的話還是不行~ 思考中的效果啦~ 結果還是得一直按~ 是因為~ENTER_FRAME的關係嗎? ※ 引述《cjcat2266 (CJ Cat)》之銘言: : ※ 引述《etrexetrex (moonet)》之銘言: : : 因為鍵盤按住是 : : *-------********* : : *代表呼叫KeyboardEvent : : 為了避免這種延遲 : : 在as2時通常會使用Key.isDown : 補充一下,AS3原本沒有內建的Key.isDown()可以用 : 所以需要自己做一個Key class : 我從Senocular的KeyObject class改了一個Key class出來 : 在我的library裡面 : http://tinyurl.com/3urgjq : 然後最剛開始你需要呼叫Key.init(stage) : 之後就可以如AS2般的使用Key.isDown了: : import idv.cjcat.ui.Key; : Key.init(stage); : stage.addEventListener(Event.ENTER_FRAME, check); : function check(e:Event):void { : trace(Key.isDown(<your key code here>)); : } -- 我是有點壞壞的~ 乖小孩.... 不好的人~~ 叫孬人.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.38.92
cjcat2266:這樣不對吧,你把b()包在a()裡面,b()應該要放在外面 10/16 09:41
cjcat2266:而且不是Key.isDown == 38,是Key.isDown(38) 10/16 09:41
cjcat2266:另外就是沒有Event.KeyboardEvent這種東西 10/16 09:42
cjcat2266:你應該是想寫KeyboardEvent.KEY_DOWN,但是不需要 10/16 09:42
cjcat2266:之前提到的方法只需要Event.ENTER_FRAME就夠了 10/16 09:42
kunde:謝謝你~~~~~~~ 10/16 22:08