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

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

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

Регистрация: Jul 2003
Адрес: Киев
Сообщений: 50
Отправить сообщение для Summer_sun с помощью ICQ
По умолчанию загрузка swf и размещение на сцене несколько раз

Нужно загрузить файл logo.swf и размножить 4 раза на сцене. Делаю так:
Код AS3:
var loader:Loader;
var numOfItems:Number=4;
 
loader=new Loader();
 
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
var urlRequest:URLRequest=new URLRequest("logo.swf");
loader.load(urlRequest);
 
function initListener(e:Event):void {
 
	for (var i:Number=0; i<numOfItems; i++) {
		var myclip:MovieClip = new mymc();
		 myclip.addChild(loader.content);
 
		myclip.width=40+i;
		myclip.height=40+i;
		myclip.x=40+i;
		myclip.y=40+i;
 
		addChild(myclip);
 
	}
}
Код AS3:
mymc
пустой клип в библиотеке
Логотип загружается, но отображается 1 раз. С простой картинкой получается, а в чем тут проблема не пойму.
Вложения
Тип файла: rar logo.rar (7.0 Кб, 71 просмотров)

Старый 03.04.2009, 21:28
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
один и тот же клип нельзя отобразить в несольких контэйнера. он у вас отображается только в последнем

Старый 03.04.2009, 21:33
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 3  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
по поводу присваивания координат логотипу, 40 плюс минус 4 не значительно.... может стоит умножать?? Может они ложатся друг на друга? И не пойму зачем ширину, высоту менять на пару пикселей....

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

Регистрация: Jul 2003
Адрес: Киев
Сообщений: 50
Отправить сообщение для Summer_sun с помощью ICQ
подскажите что сделать пожалуйста

с другими координатами он тоже один.

Старый 03.04.2009, 23:01
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 5  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
склонировать содержание. либо через Loade.loadBytes, либо через Loader.loaderInfo.getDefinition. первый способ работает медленее и жрёт больше памяти

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

Регистрация: Jul 2003
Адрес: Киев
Сообщений: 50
Отправить сообщение для Summer_sun с помощью ICQ
делала по книге Мука ActionScript 3.0 для Flash (с 871)
Код AS3:
var loader:Loader;
 
loader=new Loader();
 
var urlRequest:URLRequest=new URLRequest("logo.swf");
loader.load(urlRequest);
 
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
function initListener(e:Event):void {
 
	var logoClassName:String=getQualifiedClassName(e.target.content);
	var appDomain:ApplicationDomain=e.target.content.loaderInfo.applicationDomain;
	var logoClass:Class=appDomain.getDefinition(logoClassName);
 
 
	var newlogo:Object = new LoadedClass();
	addChild(newlogo);
 
}
но не работает

Код AS3:
var logoClass:Class=appDomain.getDefinition(logoClassName);
на эту строку ругается 1118: Implicit coercion of a value with static type Object to a possibly unrelated type Class.


видела еще на форуме такую констуркцию

Код AS3:
loader.contentLoaderInfo.applicationDomain.getDefinition("LoadedClass") as Class;
и пример с такой конструкцией к описанию AS 3.0. на сайте Adobe , но тоже не получается. Мне знаний конечно не хватает и опыта, но разобраться с размножением подгружаемого клипа для меня очень нужно.

Старый 05.04.2009, 17:26
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 7  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
а почему ему не ругаться? getDefinition возвращает Object. а Вы его пытаетесь присвоить переменной типа Class. в ошибки написано что он не умеет конвертировать один тип в другой. для исправления ошибки используется оператор as.

Старый 05.04.2009, 17:40
Summer_sun вне форума Посмотреть профиль Отправить личное сообщение для Summer_sun Найти все сообщения от Summer_sun
  № 8  
Ответить с цитированием
Summer_sun
 
Аватар для Summer_sun

Регистрация: Jul 2003
Адрес: Киев
Сообщений: 50
Отправить сообщение для Summer_sun с помощью ICQ
Код AS3:
var loader:Loader;
var numOfItems:Number=3;
 
loader=new Loader();
 
var urlRequest:URLRequest=new URLRequest("logo.swf");
loader.load(urlRequest);
 
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
function initListener(e:Event):void {
 
	var logoClassName:String=getQualifiedClassName(e.target.content);
	var appDomain:ApplicationDomain=e.target.content.loaderInfo.applicationDomain;
	var logoClass:Class=appDomain.getDefinition(logoClassName) as Class;
 
 
	var newlogo:Object = new LoadedClass();
	addChild(newlogo);
 
}
так?
теперь оно ругается на следующую строчку
Код AS3:
var newlogo:Object = new LoadedClass();
1180: Call to a possibly undefined method LoadedClass.

а у Мука вот что
Цитата:
var ModuleClassName:String = getQualifiedClassName(e.target.content):
var appDomain:ApplicationDomain =
e.target.content.1oaderInfо.applicati onDomai n;
// После выполнения следующей строки кода переменная ModuleClass будет
// ссылаться на основной класс приложения Module.swf
var ModuleClass:CIass = appDomain.getDefinition(ModuleClassName);
Получив ссылку на класс Module, мы можем использовать ее для создания новых
объектов:
var newModule:Object = new ModuleClass( );

Старый 05.04.2009, 17:48
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 9  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
откуда вы взяли переменную LoadedClass?

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

Регистрация: Jul 2003
Адрес: Киев
Сообщений: 50
Отправить сообщение для Summer_sun с помощью ICQ
ой
Код AS3:
var loader:Loader;
 
 
loader=new Loader();
 
var urlRequest:URLRequest=new URLRequest("logo.swf");
loader.load(urlRequest);
 
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
function initListener(e:Event):void {
 
	var logoClassName:String=getQualifiedClassName(e.target.content);
	var appDomain:ApplicationDomain=e.target.content.loaderInfo.applicationDomain;
	var logoClass:Class=appDomain.getDefinition(logoClassName) as Class;
 
 
	var newlogo:Object = new logoClass();
	addChild(newlogo);
 
}
вообщем теперь оно ругается только на последнюю строчку
1118: Implicit coercion of a value with static type Object to a possibly unrelated type flash.display:DisplayObject.


Последний раз редактировалось iNils; 05.04.2009 в 18:16.
Создать новую тему Ответ Часовой пояс GMT +4, время: 12:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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