![]() |
Loader class и дочерние обьекты
Наткнулся на 2 проблемы.
Первая - это Loader class, с помощью него я гружу картинку извне, после могу сразу добавить на сцену - как и написано в примере хэлпа. Loader.content - то, что мы загрузили. Теперь внимание - если мы создаем новый класс и передаем туда этот Loader (пусть он у нас, скажем будет ldr): Код:
new someClass(ldr);Код:
trace(ldr); //параметр который я принимаю в класс обзовем так жеЕсли сделаем: Код:
trace(ldr.content); //получаем nullКод:
trace(ldr.content); //выдает то, что мы загружалиКод:
new someClass(ldr.content); //в конструкторе оутпут - nullИ 2 вопрос, наверное более глупый, причем настолько, что не хочется ради него открывать новую тему :) Код в главном классе: Код:
var zone:paintArea=new paintArea();getChildAt не помогает, оно и понятно - когда выполняется конструктор у нас элементарно toPaint ещё отсутсвует в zone. Конечно, можно добавить toPaint в самом конструкторе, но дело в том, что этих toPaint у меня много - в зависимости от ситуации, выбор - передавать через параметр, ну а это делать как то не хочется. Есть варианты, или таки придеться? |
Почему имена классов с маленькой буквы начинаются?
1. Загрузка была завершена на момент создания SomeClass? 2. Либо переопределить addChild у zone, либо подписаться на событие ADDED и ADDED_TO_STAGE и смотреть детей. |
А еще лучше - не передавать ничего в конструктор =) Отдельным методом, потом самому же удобнее будет.
|
Имена с маленькой буквы - привычка. Это ведь не как не влияет на быстродейственность?
2wvxvw : отдельным методом и сделал, но после помучился с z-сортировкой. Если это передать в конструктор, то можно делать addChild имено в той последовательности, в какой тебе нужно. 2__etc : можно поподробней, что ты имеешь ввиду под словом "переопределить", не совсем понял твою мысль. Про события ADDED ты предлагешь подписаться в someClass на добавление, скажем, 3 элемента и после вызывать метод? Ммм, логично) |
Psycho Tiger, во флешовом фреймворке нет ни одного класса, у которого имя с маленькой буквы начинается, а у вас есть.
Переопределить — override. Т.е. написать свой метод addChild. |
Оверрайдить addChild - это слишком для начинающего ас3-ера.
В принципе то, если я работаю один - то совершенно без разницы как называется класс. Чтож, учту и постораюсь писать с большой буквы... Хотя в привычку уже вошло - первая буква маленькая, следуйщие слова с большой... |
вот шаблон, дописывай свой функционал, ничего сложного нет
Код:
override public function addChild(child:DisplayObject):DisplayObject |
Ммм, и то верно) Я то подумал что полностью самому addChild etc предлагает написать.
Хорошо, и 2 вопрос - кто знает? Цитата:
|
Написать сеттер toPaint.
|
Хм, а почему не работает в качестве параметра?
Как может не null обьект стать null`oм? |
| Часовой пояс GMT +4, время: 05:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.