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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.03.2011, 15:07
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 11  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
parent - нехорошая практика программирования, т.к. вы очень завязываете логику на визуальное представление

Но если по другому не можете, то:
parent - возвращает тип обьекта DiplayObject, соответственно от него доступны свойства только обьекта DiplayObject, а Вам нужен MyContainerClass со своими свойствами

сделайте кастинг парент к нужному Вам классу, если знаете что ожидать в parent

Код AS3:
var myContainer:MyContainerClass  = this.parent as MyContainerClass ;
myContainer.setsize();
myContainer.update();
Вам станут доступны все публичные свойства этого класса

Ну, а если совсему уж некрасиво хотите, то можете сделать тупо так
Код AS3:
this.parent["setsize"]();
но эта практика ведет в преисподнюю

ПС: MovieClip и по умолчанию в отличии от спрайта динамический класс, т.е. Вы можете создавать у него новые свойства как у Object, сделав в крайнем случае кастинг as MovieClip но это тоже все приемы от которых нужно избавляться
__________________
...

Старый 21.03.2011, 16:10
Atarion вне форума Посмотреть профиль Найти все сообщения от Atarion
  № 12  
Ответить с цитированием
Atarion
Banned
[+6 20.04.11]
[+1 22.08.11]
[+ 31.08.11]

Регистрация: Aug 2010
Сообщений: 196
спасибо! наконец то настоящий ответ!
не подкажете - моменм может тоже знаете:
я пытался программно(во время выполнения) создавать компонент scroolpane и добавлять туда картинки разумеется предварительно объявив контейнер. все прекрастно работало.
до тех пор пока я создавал "чистый" скрул пан в процессе выполнения.
как только я пытаюсь все остальное так же- но не чистый скрулпан то есть
Код AS3:
var mymovie:oppanel = new oppanel();
а movieclip который содержит скрул пан в свою очередь и он уже в библиотеке объявлен класс oppanel

Код AS3:
var mymovie:oppanel = new oppanel();
я конечно подозреваю что надо обратится как то К САМОМУ скрулпан внутри movie clip но как это сделать?

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

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Код AS3:
var mymovie:oppanel = new oppanel();
var scrollPane : ScrollPane = mymovie.getChildByName("scrollPane ") as ScrollPane; // предполагается, что вы задали инстанс нейм в среде разработки
или же поступить более человечески и сделать скроллпейн членом класса oppanel. (Кстати, имена классов принято писать с заглавных букв)

Код AS3:
class Oppanel extends Sptite{
  private var _scrollPane;
  public function Oppanel{
    _scrollPane = getChildByName("scrollPane ") as ScrollPane;
    // или же создаете его совсем динамически  _scrollPane = new ScrollPane(); добавляете и настраиваете
  }  
 
  public function get scrollPane():ScrollPane{
    return _scrollPane; 
  }
 
 
}
Тогда сможете делать так

Код AS3:
var mymovie:oppanel = new oppanel();
var scrollPane : ScrollPane = mymovie.scrollPane;

Для этого придется использовать УДОБНУЮ И ЛОГИЧНУЮ систему пакетов.

Кстати. На выходе все равно имеется один *.swf файл, так что можете не беспокоиться.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.


Последний раз редактировалось ChuwY; 21.03.2011 в 16:23.
Старый 21.03.2011, 16:26
Atarion вне форума Посмотреть профиль Найти все сообщения от Atarion
  № 14  
Ответить с цитированием
Atarion
Banned
[+6 20.04.11]
[+1 22.08.11]
[+ 31.08.11]

Регистрация: Aug 2010
Сообщений: 196
вроде разобрался! и еще раз спасибо! вот что значит земляк)


Последний раз редактировалось Atarion; 21.03.2011 в 16:33.
Старый 21.03.2011, 16:38
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 15  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от Atarion Посмотреть сообщение
спасибо! наконец то настоящий ответ!
Да - вот это очень показательно...
Слушать и понимать правильные вещи вы не хотели. Пока не появился человек, который выложил вариант, честно сказав, что, на самом деле, "так не делают". И теперь вы рады: говорите, что этот человек дал вам "настоящий ответ", в то время как остальные, видимо, чушь какую-то городили.

Старый 21.03.2011, 17:12
Atarion вне форума Посмотреть профиль Найти все сообщения от Atarion
  № 16  
Ответить с цитированием
Atarion
Banned
[+6 20.04.11]
[+1 22.08.11]
[+ 31.08.11]

Регистрация: Aug 2010
Сообщений: 196
а если у меня родитель - это самый внешний ролик что нужно указывать вместо этого? MyContainerClass
root не поулчилось
MovieClip- тоже!

Добавлено через 1 минуту
прощу прощения - просто это вариант "реальный" так как делают в c++ во всех настоящих языках програмированния. а не какие то прыжки с бубном в угоду странным мозгам сотрудников адобе
это все равно что сравнивать логику Borland c++ и Visual Microsoft C

Старый 21.03.2011, 18:07
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 17  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от Atarion Посмотреть сообщение
просто это вариант "реальный" так как делают в c++ во всех настоящих языках програмированния. а не какие то прыжки с бубном в угоду странным мозгам сотрудников адобе
Вы протестуете против "моды adobe", но незаметно для себя восхваляете "моду c++".

Во-первых. То, что в c++ и других "настоящих языках" сложилась какая-нибудь традиция, не означает, что модель событий, предложенная adobe для as3, является ущербной.

Во-вторых. Широкое распространение такой модели в as3 объясняется тем, что она уже реализована в стандартных классах и её не нужно писать самому. А поскольку программистам на c++ (так же как и программистам других языков) лениво писать "что-то лишнее", если прямо сейчас в этом нет необходимости - то они и не пишут.

В-третьих. Это не "странные мозги сотрудников adobe". Это реализация шаблона Observer (если не ошибаюсь, я углублённо все шаблоны не изучал).

В-четвёртых. Этот шаблон используют и в других языках программирования, включая и c++, если есть потребность полностью отделить данный элемент от остального кода, сохраняя контроль над ним.

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

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

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


 


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


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