Re: [問題] dear all

看板Flash作者 (Kunde)時間17年前 (2008/10/16 08:52), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串4/4 (看更多)
謝謝各位高手的指導~~~ 可行是可行~~~但是會變成必須得一直按~ 不接受壓住按鍵~ 有想過~ 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

10/16 09:41, , 1F
這樣不對吧,你把b()包在a()裡面,b()應該要放在外面
10/16 09:41, 1F

10/16 09:41, , 2F
而且不是Key.isDown == 38,是Key.isDown(38)
10/16 09:41, 2F

10/16 09:42, , 3F
另外就是沒有Event.KeyboardEvent這種東西
10/16 09:42, 3F

10/16 09:42, , 4F
你應該是想寫KeyboardEvent.KEY_DOWN,但是不需要
10/16 09:42, 4F

10/16 09:42, , 5F
之前提到的方法只需要Event.ENTER_FRAME就夠了
10/16 09:42, 5F

10/16 22:08, , 6F
謝謝你~~~~~~~
10/16 22:08, 6F
文章代碼(AID): #18zf0oV6 (Flash)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
問題
1
6
問題
2
3
文章代碼(AID): #18zf0oV6 (Flash)