Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.01.2014, 12:03
RigidFlasher вне форума Посмотреть профиль Отправить личное сообщение для RigidFlasher Найти все сообщения от RigidFlasher
  № 1  
Ответить с цитированием
RigidFlasher

Регистрация: Dec 2011
Сообщений: 70
По умолчанию Связать несколько символов с одним классом

Подскажите, пожалуйста, как лучше сделать.
Пишу код во FlashDevelop, графика во Flash Professional. Например, есть у меня класс Button (который отвечает за поведение кнопки), и есть несколько разных по внешнему виду символов кнопок (например, ButtonSymbol1, ButtonSymbol2, ButtonSymbol3). Как связать несколько символов с одним классом? Мне пока что пришло в голову только такое решение
Код AS3:
class Button extends MovieClip
{
    private var _buttonClip:MovieClip;
    public Button(type:Number)
    {
         switch(type)
        {
            case 1: _buttonClip = new ButtonSymbol1(); break;
            case 2: _buttonClip = new ButtonSymbol2(); break;
           ......
        }
        this.addChild(_buttonClip);
    }
}
Можно ли сделать более грамотно?

Старый 24.01.2014, 12:39
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 2  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Вы можете в Свойствах символа поставить всем кнопкам Базовый класс Button, и потом в каждом отдельном классе расширяйте функционал ваших кнопок.

Старый 24.01.2014, 14:06
RigidFlasher вне форума Посмотреть профиль Отправить личное сообщение для RigidFlasher Найти все сообщения от RigidFlasher
  № 3  
Ответить с цитированием
RigidFlasher

Регистрация: Dec 2011
Сообщений: 70
А если функционал у них абсолютно одинаковый? Стоит ли создавать отдельный класс только для того, чтобы обеспечить разный внешний вид?

Старый 24.01.2014, 14:07
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 4  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Внешний вид и функционал тут как бы идут бок о бок, посему - да
__________________
Марк Tween

Старый 30.01.2014, 06:42
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 5  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Лучше передавать в конструктор класса кнопки экземпляр ассетов.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 30.01.2014, 07:41
RigidFlasher вне форума Посмотреть профиль Отправить личное сообщение для RigidFlasher Найти все сообщения от RigidFlasher
  № 6  
Ответить с цитированием
RigidFlasher

Регистрация: Dec 2011
Сообщений: 70
Цитата:
Сообщение от ChuwY Посмотреть сообщение
Лучше передавать в конструктор класса кнопки экземпляр ассетов.
ChuwY, а можно чуть поподробнее, как это выглядит в коде ?

Старый 30.01.2014, 12:29
myakushka вне форума Посмотреть профиль Отправить личное сообщение для myakushka Найти все сообщения от myakushka
  № 7  
Ответить с цитированием
myakushka

Регистрация: Jan 2014
Адрес: Россия, Саратов
Сообщений: 28
Как вы их хотите связать? Зачем вашей кнопке несколько символов?

Добавлено через 3 минуты
Если эти символы являются состояниями кнопок, то просто создайте на каждое состояние отдельное поле в классе Button и управляйте ими как вам угодно. И подумайте хорошенько, зачем вы наследуете свой класс Button от MovieClip? Может лучше от Bitmap?

Старый 31.01.2014, 08:07
RigidFlasher вне форума Посмотреть профиль Отправить личное сообщение для RigidFlasher Найти все сообщения от RigidFlasher
  № 8  
Ответить с цитированием
RigidFlasher

Регистрация: Dec 2011
Сообщений: 70
Нет, символы не являются состояниями. Они являются разными по внешнему виду объектами с одинаковым поведением.

Старый 31.01.2014, 12:38
myakushka вне форума Посмотреть профиль Отправить личное сообщение для myakushka Найти все сообщения от myakushka
  № 9  
Ответить с цитированием
myakushka

Регистрация: Jan 2014
Адрес: Россия, Саратов
Сообщений: 28
Все равно, я пока не понимаю сути задачи.

Старый 31.01.2014, 23:30
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от RigidFlasher Посмотреть сообщение
ChuwY, а можно чуть поподробнее, как это выглядит в коде ?
Код AS3:
var button:Button = new Button(new SomeButtonGraphic()); // как вариант

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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