Loader и MovieClip

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
mastaxys
Сообщения: 32
Зарегистрирован: 12 янв 2013, 14:41

Loader и MovieClip

Сообщение mastaxys »

Доброго дня. Недавно пересел с AS2 на AS3.

Вопрос может быть простецкий, но у меня что голова уже кругом ))

Есть в библиотеке мувик panel со следующей вложенностью других мувиков: item0.image (т.е. panel.item0.image)
В библиотеке присвоил мувику panel класс my_panel.

Далее с помощью Loader'а подгружаю картинку :

Код: Выделить всё

loader.load(new URLRequest(friends[0].photo)); //из массива достаю адрес картинки
ВОПРОС!
1.Как добавить мувиклип panel на сцену с нужными координатами?
2.Как в мувиклипе panel заменить image на картинку, подгруженную Лоадером?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Loader и MovieClip

Сообщение bodnar »

Код: Выделить всё

addChild(panel);panel.x=1;panel.y=2; 
А panel.item0.image какой тип?
mastaxys
Сообщения: 32
Зарегистрирован: 12 янв 2013, 14:41

Re: Loader и MovieClip

Сообщение mastaxys »

А panel.item0.image какой тип?
MovieClip

а вот:

Код: Выделить всё

addChild(panel)
выдаёт 1067: Неявное приведение значения типа Class к несоответствующему типу flash.display:DisplayObject.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Loader и MovieClip

Сообщение bodnar »

ну так экземпляр то создавать надо

Код: Выделить всё

var panel = new Panel(); ... addChild(panel);panel.x=1;panel.y=2;
mastaxys
Сообщения: 32
Зарегистрирован: 12 янв 2013, 14:41

Re: Loader и MovieClip

Сообщение mastaxys »

Спасибо. Сейчас поробую.


Странно (( Выдало следущее:
ReferenceError: Error #1065: Переменная Button не определена.

ReferenceError: Error #1065: Переменная UILoader не определена.

ReferenceError: Error #1065: Переменная ComponentShim не определена.

ReferenceError: Error #1065: Переменная panel не определена.

ReferenceError: Error #1065: Переменная Main не определена.
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Loader и MovieClip

Сообщение Alazaur »

Код: Выделить всё

var mypanel:my_panel = new my_panel();var loader:Loader = new Loader();loader.load(new URLRequest(friends[0].photo));mypanel.item0.image.addChild(loader);
Только в библиотеке клипу item0 тоже поставьте галочку "Экспорт для ActionScript" и какой-нибудь класс присвойте, иначе до вложенного в него клипа скорее всего нельзя будет достучаться.
mastaxys
Сообщения: 32
Зарегистрирован: 12 янв 2013, 14:41

Re: Loader и MovieClip

Сообщение mastaxys »

Alazaur писал(а):

Код: Выделить всё

var mypanel:my_panel = new my_panel();var loader:Loader = new Loader();loader.load(new URLRequest(friends[0].photo));mypanel.item0.image.addChild(loader);
Только в библиотеке клипу item0 тоже поставьте галочку "Экспорт для ActionScript" и какой-нибудь класс присвойте, иначе до вложенного в него клипа скорее всего нельзя будет достучаться.
Спасибо! А подскажите, что это за ошибки?
ReferenceError: Error #1065: Переменная Button не определена.

ReferenceError: Error #1065: Переменная UILoader не определена.

ReferenceError: Error #1065: Переменная ComponentShim не определена.

ReferenceError: Error #1065: Переменная panel2 не определена.

ReferenceError: Error #1065: Переменная panel не определена.

ReferenceError: Error #1065: Переменная Main не определена.
Эти ошибки вылетают при объявлении:

Код: Выделить всё

var panel = new panel();
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Loader и MovieClip

Сообщение Alazaur »

Ну там как бы написано, что за ошибки. Использование несуществующих переменных. Надо смотреть исходник, так не скажешь, кто его знает чего у вас там :))
а я кажется понял, посмотрев на ваше определение:

Код: Выделить всё

var panel = new panel();
вы пытаетесь определить переменную названием клипа из библиотеки так?
Для ActionScript эти названия ничего не значат, называете клипы в библиотеке вы просто для вашего удобства. Определять переменные нужно классом, который вы указываете когда ставите галочку "Экспорт для ActionScript".
Напрмер если там вы указали ClassPanel то определение переменной будет таким

Код: Выделить всё

var panel:ClassPanel = new ClassPanel();
mastaxys
Сообщения: 32
Зарегистрирован: 12 янв 2013, 14:41

Re: Loader и MovieClip

Сообщение mastaxys »

Код: Выделить всё

var panel:ClassPanel = new ClassPanel();
Спасибо, в этом была проблема:

Заменил

Код: Выделить всё

var panel2 = new panel();
на

Код: Выделить всё

var panel2:panel = new panel();
и всё заработало.
Ответить