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

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

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

Регистрация: Sep 2013
Адрес: x=368,64894165 y=-2713,9931 z=28
Сообщений: 20
По умолчанию Привязка одного класса к разным картинкам.

Доброго времени суток.

Вопрос в том, как привязать один класс к разным картинкам.

Пояснение:
Есть класс: Pen от него наследуется класс BallPoint.
Нарисовал Шариковые Ручки: ballPoint1,ballPoint2,ballPoint3 все конвертировал в symbol.
ballPoint1 связал с классом BallPoint.
ballPoint2 связать с классом BallPoint, не могу.
ballPoint3 связать с классом BallPoint, тоже не могу.

Как это осуществить?

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Очень странно поставленный вопрос, видимо из-за недопонимания вами сути проблемы.
Попробуйте лучше объяснить, чего конкретно вы хотите добиться.
__________________
Дети не должны знать о своих родителях

Старый 29.09.2013, 22:43
Astend вне форума Посмотреть профиль Отправить личное сообщение для Astend Найти все сообщения от Astend
  № 3  
Ответить с цитированием
Astend

Регистрация: Sep 2013
Адрес: x=368,64894165 y=-2713,9931 z=28
Сообщений: 20
По плану 3 разные картинки должны выполнять одну и туже функцию.
Например:
Код:
 
var pen:Pen = new ballPoint1(); 
var pen1:Pen = new ballPoint2(); 
var pen2:Pen = new ballPoint3();
Мы должны иметь 3 одинаковых по функциям Шариковых ручки, но с разными картинками.

Я не знаю как привязать ко всем трем ручкам один класс(одни и те же функции), без копи паста.

Старый 29.09.2013, 22:45
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Шариковая ручка должна рисовать 3 разными картинками? Что за одинаковые функций? Какой именно одинаковый у них функционал ? (выглядят одинаково, рисуют одинаково)

Если у всех классов поведение и функционал одинаковый, нет смысла использовать наследование. Начните с описания класса ручки:

Код AS3:
public class Pen extends Sprite{
}
Затем, добавьте классу Pen - методы скинования или установки текстуры для рисования:

Код AS3:
public function setSkin(skin:DisplayObject):void{
    // ...
}
В метод вы сможете передать нужный вид для вашей ручки:
Код AS3:
var pen1:Pen = new Pen;
pen1.setSkin(new RedPen); // RedPen - Спрайт с нарисованной ручкой, или картинка.
addChild(pen1);
Таким образом, вы разделите "поведение" от "отображения".
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 29.09.2013 в 22:58.
Старый 29.09.2013, 23:11
Astend вне форума Посмотреть профиль Отправить личное сообщение для Astend Найти все сообщения от Astend
  № 5  
Ответить с цитированием
Astend

Регистрация: Sep 2013
Адрес: x=368,64894165 y=-2713,9931 z=28
Сообщений: 20
Ладно, поставим вопрос по другому.

Я создаю новый класс
Код:
var pen:Pen = new BallPoint();
как к pen прикрутить картинку?

Старый 29.09.2013, 23:23
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 6  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Сообщение от Astend Посмотреть сообщение
Ладно, поставим вопрос по другому.

Я создаю новый класс
Код:
var pen:Pen = new BallPoint();
как к pen прикрутить картинку?
Этим вы не создаёте новый класс. Вы создаёте новый экземпляр класса BallPoint. Вы работаете во Flash IDE?

Вам нужно:
Создать отдельный .as файл, в котором вы напишите свой класс Pen с реализацией необходимого вам функционала.
Краткий пример оформления класса я описал в предыдущем сообщений.

Далее, вы просто будете использовать у себя в коде ваш класс Pen:
Код AS3:
var pen1:Pen = new Pen();
var pen2:Pen = new Pen();
var pen3:Pen = new Pen();
 
pen1.setSkin(new BallPoint);
pen2.setSkin(new BoxPoint);
pen3.setSkin(new RedPoint);
Вся логика у вас будет находиться в классе Pen. Методом setSkin - вы просто будете указывать отображение/рисование для вашей ручки.
__________________
Дети не должны знать о своих родителях

Старый 29.09.2013, 23:27
Astend вне форума Посмотреть профиль Отправить личное сообщение для Astend Найти все сообщения от Astend
  № 7  
Ответить с цитированием
Astend

Регистрация: Sep 2013
Адрес: x=368,64894165 y=-2713,9931 z=28
Сообщений: 20
Спасибо! Вы меня поняли.
Именно этот ответ мне и нужен был...

Добавлено через 38 минут
А можно узнать как установить эту картинку/symbol?
Код AS3:
public function setSkin(skin:DisplayObject):void{
    // ...
Что должно быть вместо //.. ?
Код AS3:
this.skin = skin;
не работает

Старый 30.09.2013, 00:43
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 8  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Цитата:
Сообщение от Astend Посмотреть сообщение
Спасибо! Вы меня поняли.
Именно этот ответ мне и нужен был...

Добавлено через 38 минут
А можно узнать как установить эту картинку/symbol?
Код AS3:
public function setSkin(skin:DisplayObject):void{
    // ...
Что должно быть вместо //.. ?
Код AS3:
this.skin = skin;
не работает
Попробуйте изменить имя переменной аргумента на отличное от skin.

Старый 30.09.2013, 00:46
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 9  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Цитата:
Что должно быть вместо //.. ?
В зависимости от того, что вы хотите сделать.
Это может быть рисуемое изображение, или вид самой ручки. Для второго случая, самый простейший вариант:
Код AS3:
public function setSkin(skin:DisplayObject):void{
    addChild(skin);
}
__________________
Дети не должны знать о своих родителях

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Попробуйте изменить имя переменной аргумента на отличное от skin.
Это не важно. Если написано this.someVar = someVar, то не имеет значения то, что параметр называется так же как поле класса. Ключевое слово this как раз говорит программе о том, что нужно использовать поле класса, а не параметр

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

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

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


 


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


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