Несколько (разных) объектов из одного конструктора в Flash / AS3 - PullRequest
0 голосов
/ 20 марта 2011

Я должен создать игру во флэш для школы. Я как бы застрял, однако. Я знаю подход, который может сработать, но мне интересно, нет ли способа сделать это все в одном. Здесь идет.

У меня стартовый экран с 4 кнопками. Все эти кнопки связаны с разными уровнями, и все они имеют разное изображение. Давайте назовем их btn1 btn2, .. btn4. Я создал класс под названием GameButton:

package 
{
    import flash.display.SimpleButton;

    public class GameButton extends SimpleButton
    {
        public function GameButton()
        {
               // x= 
               // y=
        }
    }
}

Я начинаю это в моем основном классе:

    public var btn1:GameButton;

    public function MainAteam()
    {

        btn1 = new GameButton();
        addChild(btn1);
        btn1.addEventListener(MouseEvent.CLICK, startGame1);
    }

Моя первая кнопка связана с классом GameButton и помещается на мою сцену с помощью addChild в моем классе Main. Теперь, конечно, GameButton ВСЕГДА покажет изображение кнопки, с которой я его связал. Мне было интересно, если есть способ использовать ОДИН конструктор, но использовать разные изображения ... Возможно, с аргументом в функции конструктора. Например, чтобы я мог сделать

btn2 = new GameButton(2)

А затем добавляет кнопку с изображением для кнопки 2. Я в замешательстве и не знаю, возможно ли это вообще ...

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

Прошло много времени с тех пор, как я работал с AS3. Надеюсь, кто-нибудь может помочь мне здесь. Заранее спасибо.

EDIT: Я просто понял, что это может быть глупым вопросом. Тем не менее, нет ли способа понравиться .. сделать конструктор для пустой кнопки, а затем, возможно, добавить к ней символ? Точно сказать не могу. Действительно смущенный, я ценю любую помощь.

1 Ответ

1 голос
/ 20 марта 2011

Вам не нужно создавать класс для каждой кнопки.Просто дайте каждой кнопке другое имя в опциях связывания и установите GameButton в качестве базового класса вместо SimpleButton.Flash требует, чтобы вы дали каждому экспортированному символу уникальное имя, но это не заставляет вас писать для него класс (он сгенерирует класс для вас под прикрытием при компиляции, но вам не нужно об этом беспокоиться).).Ваши кнопки будут затем наследовать поведение GameButton, но вы сможете дать каждому из них нужную графику.

...