![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Всем привет,
Для моей задачи (он лайн слаид шоу с анимацией переходов) надо манипулировать загруженными изображениями. Возможно ли после того как все изображения погрузятся в лодер и добавлять содержимое лодеров в чилды контейнеров обращаясь к ним по именам? Обратиться к ним через getChildByName – не получается Так не работает: пока я просто помещаю контейнеры с содержимым и ставлю alpha-0, потом манипулирую с прозрачностью обращаясь к чилду контейнера по имени. Но так наверное будет память нерационально использоваться? Посоветуйте как грамотнее решить вопрос. Спасибо. |
|
|||||
|
Создай массив и помещай туда прелоадеры. Назначай им загрузку. Проходись по массиву через определенное время - бери следующее загруженное изображение. Обнуляй номер, подходя к концу массива. getChildByName - используй только для объектов которые были созданы не программно.
__________________
if (love is true) break my.heart; |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
спасибо за ответ.
Цитата:
var Names:Array=new Array ("loader1","loader2","loader3");
for (var i:Number=0; i<3; i++)
{
//var Names[i]:Loader =new Loader; - ТАК НЕ РАБОТАЕТ!
var myLoader:Loader =new Loader;// так работает
myLoader.name=Names[i];
trace (myLoader.name)
}
А если загруженые сразу помещать и ставить alpha=0, сильно память съесться по сравнению с добавлением в контейнер? спасиба. |
|
|||||
|
Хм три картинки...
Загрузка рисунков с xml в спрайты http://dnadillo.dn.ua/fla/XML/img-xml-img.swf http://dnadillo.dn.ua/fla/XML/img-xml-img.zip http://dnadillo.dn.ua/fla/XML/img_xml.xml Суть: делается спрайт-контейнер. Создается массив спрайтов sprite_array[], они помещаются на спрайт контейнер, обращатся к ним можно по цифре массива sprite_array[image_list]. Потом проматывать можно так: Последний раз редактировалось Alex Lexcuk; 16.06.2008 в 18:48. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Огромнейшее спасибо!
чесно говоря не знал, что мувики и спрайты можно помещать в массив и обращаться к ним (только пару месяцев флэширую). Это решает проблему!!! Еще вопрос, с вашего позволения, для расширения кругозора. почему нельзя обратиться к чилду через getChildByName котороый находится в другом классе? где filmClass - класс документа, обращение идет из класса чилды которого добавляются в документ. Пишет ошибку: Цитата:
|
|
|||||
|
скорее всего надо так:
как я понял filmClass - это класс, а не объект.
__________________
я могу стать всем, если только захочу |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
вот на такой код (где loadFunctionCount - переменная в классе документа )
if (filmClass.loadFunctionCount>1) {
trace (" УСЛОВИЕ ПРОШЛО --filmClass.loadFunctionCount>1--")
(root as filmClass).getChildByName("pic0").alpha=0;
}
Цитата:
|
|
|||||
|
Вспомнил одну фишку, это слайд шоу...
http://www.flashandmath.com/basic/tr.../example3.html |
|
|||||
|
Делай все по порядку, к примеру:
1) Создай массив и в цикле запихай в него объекты которые грузят 4 картинки в главном классе: var pictures:Array = [];
for (var i =0; i<=3;i++){
pictures[i] = new CustomImage("image" + i + ".jpg");
}
package {
import flash.display.*;
import flash.net.URLRequest;
import flash.events.*;
public class CustomImage extends Sprite {
private var loader:Loader;
public var isLoaded:Boolean;
public function CustomImage(url:String):void{
isLoaded = false;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaded);
loader.load(new URLRequest(url));
}
private function onLoaded(e:Event):void{
isLoaded = true;
addChild(Bitmap(loader.content));
}
}//end class
}//end package
з.ы Писал от балды может и где ошибка закралась Последний раз редактировалось Rzer; 18.06.2008 в 16:32. |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
большое спасибо за такой развернутый ответ!
В общем....я так и сделал, только менее рационально (пока разбирался что как работает). пожалуй оптимизирую попозже как допишу плэйер. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|