Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   обработчик KeyDown (http://www.flasher.ru/forum/showthread.php?t=107395)

feanarf 31.01.2008 19:13

обработчик KeyDown
 
не знаю, может я сильно туплю, но скажите, почему не обрабатывается событие в этом коде:
Код:

My_clip.onKeyDown=function()
{trace('keyDown');
}

P.S. flash 8 a.s. 2.0

GreatRash 31.01.2008 19:16

Код:

var listener:Object = new Object();
Key.addListener(listener);
listener.onKeyDown = function() {
        trace('keyDown');
};


feanarf 31.01.2008 19:19

просто привык к as 1.0 там было как у меня :)
P.S. спасибо!

Molecula 31.01.2008 19:51

Код:

Key.addListener(this);
this.onKeyDown = function(){trace('keyDown')}


etc 01.02.2008 00:25

Цитата:

Сообщение от feanarf
просто привык к as 1.0 там было как у меня :)
P.S. спасибо!

Это тоже AS1.

CrazyFlasher 01.02.2008 00:46

вообще на самом деле сложно определить грань между AS1 и AS2...а какой язык тогда во flash 4 ? AS0 ? :)
но вообще AS2 принято называть ООП язык. Так что, в принципе, соглашусь с __etc

ktotam 01.02.2008 12:11

Здравствуйте! не стал создавать новую тему, так как проблема схожа. Есть 2 клипа _a и _b, и обработчик клавишь. Клипы с помощью клавиатуры двигаются вправо и влево, проблема в том, что обрабатывается последняя нажатая клавиша а не все нажатые... подскажите что делать
Код:

stop();
_root[attachMovie("_a", "_a", 1,{_x:100, _y:200})];
_root[attachMovie("_b", "_b", 2,{_x:300, _y:200})];

var listener:Object = new Object();
Key.addListener(listener);
listener.onKeyDown = function() {
    trace("onKeyDown: "+this._name+" (Key: "+getKeyPressed()+")");
        if(getKeyPressed()=="a"){_root._a._x-=10}
        if(getKeyPressed()=="d"){_root._a._x+=10}
        if(getKeyPressed()=="w"){_root._a._y-=10}
        if(getKeyPressed()=="s"){_root._a._y+=10}
        if(getKeyPressed()=="LEFT"){_root._b._x-=10}
        if(getKeyPressed()=="RIGHT"){_root._b._x+=10}
        if(getKeyPressed()=="UP"){_root._b._y-=10}
        if(getKeyPressed()=="DOWN"){_root._b._y+=10}
};
listener.onKeyUp = function() {
    trace("onKeyUp: "+this._name+" (Key: "+getKeyPressed()+")");
};
function getKeyPressed():String {
    var theKey:String;
    switch (Key.getCode()) {
                case Key.LEFT :
                        theKey = "LEFT";
                        break;
                case Key.RIGHT :
                        theKey = "RIGHT";
                        break;
                case Key.UP :
                        theKey = "UP";
                        break;
                case Key.DOWN :
                        theKey = "DOWN";
                        break;
               
    default :
        theKey = chr(Key.getAscii());
    }
    return theKey;
}



Часовой пояс GMT +4, время: 23:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.