![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
мистика какая то.. компилируется без ошыбок, но не отображается ничего, на выходе генерирует имена случайных картинок, а ничего не отображается. ![]() Что может быть? Я понимаю, что по идее должно работать потому, что при добавлении обьектов они размещаются по принцыпу первый с самого низу. |
|
|||||
|
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
нет, только что попробовал, - добавил сразу после создания контейнера
ошыбка 1120:Access of undefined property stage |
|
|||||
|
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
|
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Извиняюсь, в своём примере я забыл убрать At с строчке
Должно быть |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
А что есть super? Не встречал такого...
Если заменить stage на super, то 1061: Call to a possibly undefined method addChild through a reference with static type flash.display:InteractiveObject. Добавлено через 2 минуты SamFR ничего, но к сожалению не работает ни с ат ни без ат. ![]() оказывается, - как добрые люди подсказывают - нужно еще этот контейнер добавить на stage че т... не хочет он никак добавляться.. ![]() |
|
|||||
|
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
super - вызов метода родительского класса. То, что я написал, надо добавлять в основной класс, который наследуется от Sprite
И если можно полный код в студию! |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
А обращаться к stage можно только после добавления объекта, из которого происходит обращение, в дисплей-лист. То есть после прихода события Event.ADDED_TO_STAGE. До этого stage равняется null, отсюда и ошибка.
Однако добавлять на stage – нехорошо хотя бы потому, что ссылка на него доступна не всегда. Добавляйте в Document Class из него же, то есть в классе документа this.addChild(container). |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
Весь код
package { import flash.display.*; import flash.events.*; import flash.net.URLRequest; import flash.utils.Timer; public class girl extends Sprite { public function girl() { tim(); copyGirl(); } public function tim(){ var timer:Timer = new Timer(3000, 0); timer.addEventListener(TimerEvent.TIMER, bild); timer.start(); } var container:Sprite = new Sprite(); super.addChild(container); var loader:Loader = new Loader(); public function bild(e:TimerEvent):void { var randBild:int = Math.random()*5; var nam:String = "swirl-"+randBild+".jpg"; var urlR:URLRequest = new URLRequest(nam); trace(nam); loader.load(urlR); container.addChild(loader); } public function copyGirl() { var childs:Array = []; for (var i:uint = 0; i<2; i++){ var st:mcgirl = new mcgirl; container.addChild(st); childs.push(st); } var g0:mcgirl = childs[0]; var g1:mcgirl = childs[1]; g0.x = -110; g0.y = 90; g1.x = 120; g1.y = 90; } } } |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Вы неправильно спроектировали свою программу. Создание и добавление основных контейнеров, а также управление общим ходом программы должно вестись из управляющего класса. Чаще всего это – Document Class. Перенесите в него управление фоном (смена фоновых картинок), создание и добавление объектов girl. Иначе через некоторое время вы сами запутаетесь в своём коде, немотря на всю его простоту.
Добавлено через 1 минуту Или girl это и есть класс документа? Какой класс у вас назначен в поле Class вашего .fla документа? |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|