作者kunde (Kunde)
看板Flash
標題Re: [問題] dear all
時間Thu Oct 16 08:52:00 2008
謝謝各位高手的指導~~~
可行是可行~~~但是會變成必須得一直按~
不接受壓住按鍵~
有想過~
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