Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Работа с функциями, свойствами, методами.
Flash Zone Forum > Macromedia Flash > Начинающим
Alest
Всем привет!

До жути простой вопрос!
Один час как открыл для себя флеш, разбираюсь с работой функций..
Не смейтесь, если вопросы кажутся глупыми..

Мне необходимо на клавиши Вверх, вниз, вправо, влево поставить обработчик событий движения объекта.

Цитата
var Shar:SharBD = new SharBD();
addChild(Shar);

x = 50;
y = 100;

Shar.addEventListener(KeyboardEvent.KEY_UP, funcDown);

function funcDown(KeyboardEvent):void
{
y = y+1;
}

...и тд.


В чем я не прав?

KeyboardEvent
KEY_left и KEY_right не отрабатывает, как создать обработчик на эти клавиши?
chingachgoog
/forum/index.php?showto...amp;#entry12573
MustLive
chingachgoog

На этот вопрос Alest ещё в субботу ответил tiHo. Но в воскресенье произошёл сбой винчестера не сервере и было осуществлено восстановление с бекапа, а т.к. последний бекап был за утро субботы, поэтому всех ответов в этой теме в нём не было. Т.е. восстановился лишь первый пост (с вопросом).

С показанных ранее примеров кода, Alest уже понял как нужно задавать обработчик нажатий клавиш в AS3 smile.gif. Его проблема как раз связана с отличием между AVM1 и AVM2, на которые ты сослался.
tiHo
Код
package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;

    public class Main extends Sprite
    {
        public function Main():void
        {
            clip.addEventListener(KeyboardEvent.KEY_DOWN, move);
        }
        public function move(e:KeyboardEvent):void
        {
            e.keyCode == 38 ? this.y-- : null;
            e.keyCode == 40 ? this.y++ : null;
            e.keyCode == 39 ? this.x++ : null;
            e.keyCode == 37 ? this.x-- : null;
        }
    }
}
Русская версия IP.Board © 2001-2017 IPS, Inc.