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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.05.2010, 14:35
Stalkerok вне форума Посмотреть профиль Отправить личное сообщение для Stalkerok Посетить домашнюю страницу Stalkerok Найти все сообщения от Stalkerok
  № 1  
Ответить с цитированием
Stalkerok
[+4 08.06.08]
 
Аватар для Stalkerok

Регистрация: May 2006
Сообщений: 26
Отправить сообщение для Stalkerok с помощью ICQ
Question Слайдшоу из XML

День добрый, делаю для себя слайд-шоу на подобии:

http://www.mas-cocagne.com/

XML вида:
Код:
<picts>
 <p link="picts/01.jpg"/>
 <p link="picts/02.jpg"/>
 <p link="picts/03.jpg"/>
 <p link="picts/04.jpg"/>
</picts>
Начал с загрузки изображений из XML:
Код AS3:
var picts_xml:XML = new XML();
picts_xml.ignoreWhite = true;
 
picts_xml.onLoad = function(success) {
	if(success) {
		allPicts = picts_xml.firstChild.childNodes.length;
	} else {
		trace("xml не загружен");
	}
}
 
picts_xml.load("picts.xml");
Но как сделать прелоадер пока не загрузятся изображения, и как реализовать их дальнейшую анимацию: движение влево, вверх, увлечение?

Заранее спасибо!

Старый 04.05.2010, 15:47
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 2  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
Эм, а это код на AS3?
Во идее нужно так:
1. Создаёте контейнер где будут картинки
2. Грузите туда новую (убираете старую)
3. Когда загрузилась твинами альфу делаете равной 1

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

Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
http://www.thetechlabs.com/tutorials...show-with-xml/
http://www.republicofcode.com/tutori.../as3slideshow/
__________________
Пока я жив, Вы горем обеспечены

Старый 04.05.2010, 16:07
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 4  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
О, зря вы сохраняете атрибутах пути к файлам.
__________________
Дело не в тебе

Старый 04.05.2010, 17:22
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 5  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
Лучше в CDATA?

Старый 04.05.2010, 19:31
Stalkerok вне форума Посмотреть профиль Отправить личное сообщение для Stalkerok Посетить домашнюю страницу Stalkerok Найти все сообщения от Stalkerok
  № 6  
Ответить с цитированием
Stalkerok
[+4 08.06.08]
 
Аватар для Stalkerok

Регистрация: May 2006
Сообщений: 26
Отправить сообщение для Stalkerok с помощью ICQ
Спасибо! а как добавить эффект движения изображения между их сменой?

Код AS3:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
 
var my_speed:Number;
var my_total:Number;
var my_images:XMLList;
 
var my_loaders_array:Array=[];
var my_labels_array:Array=[];
var my_success_counter:Number=0;
var my_playback_counter:Number=0;
 
var my_slideshow:Sprite = new Sprite();
var my_image_slides:Sprite = new Sprite();
var my_label_slides:Sprite = new Sprite();
var my_preloader:TextField;
 
var my_timer:Timer;
var my_prev_tween:Tween;
var my_tweens_array:Array=[];
 
var my_xml_loader:URLLoader = new URLLoader();
my_xml_loader.load(new URLRequest("slideshow.xml"));
my_xml_loader.addEventListener(Event.COMPLETE, processXML);
 
function processXML(e:Event):void {
	var my_xml:XML=new XML(e.target.data);
	my_speed=my_xml.@SPEED;
	my_images=my_xml.IMAGE;
	my_total=my_images.length();
 
	loadImages();
 
	my_xml_loader.removeEventListener(Event.COMPLETE, processXML);
	my_xml_loader=null;
}
 
function loadImages():void {
	for (var i:Number = 0; i < my_total; i++) {
		var my_url:String=my_images[i].@URL;
		var my_loader:Loader = new Loader();
		my_loader.load(new URLRequest(my_url));
		my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
		my_loaders_array.push(my_loader);
 
		var my_label:TextField = new TextField();
		my_label.text=my_images[i].@TITLE;
		my_label.autoSize=TextFieldAutoSize.LEFT;
		my_labels_array.push(my_label);
 
	}
 
	my_preloader = new TextField();
	my_preloader.text="Loading";
	my_preloader.autoSize=TextFieldAutoSize.CENTER;
	my_preloader.x = (stage.stageWidth - my_preloader.width)/2;
	my_preloader.y = (stage.stageHeight - my_preloader.height)/2;
	addChild(my_preloader);
 
}
 
function onComplete(e:Event):void {
 
	my_success_counter++;
	if (my_success_counter==my_total) {
		startShow();
	}
 
	var my_loaderInfo:LoaderInfo=LoaderInfo(e.target);
	my_loaderInfo.removeEventListener(Event.COMPLETE, onComplete);
 
}
 
function startShow():void {
 
	removeChild(my_preloader);
	my_preloader=null;
 
	addChild(my_slideshow);
	my_slideshow.addChild(my_image_slides);
	my_slideshow.addChild(my_label_slides);
 
	nextImage();
 
	my_timer=new Timer(my_speed*1000);
	my_timer.addEventListener(TimerEvent.TIMER, timerListener);
	my_timer.start();
 
}
 
function nextImage():void {
 
	var my_image:Loader=Loader(my_loaders_array[my_playback_counter]);
	my_image_slides.addChild(my_image);
	my_image.x = (stage.stageWidth - my_image.width)/2;
	my_image.y = (stage.stageHeight - my_image.height)/2;
	my_tweens_array[0]=new Tween(my_image,"alpha",Strong.easeOut,0,1,1,true);
 
	var my_label:TextField=TextField(my_labels_array[my_playback_counter]);
	my_label_slides.addChild(my_label);
	my_label.x=my_image.x;
	my_label.y=my_image.y+my_image.height;
	my_tweens_array[1]=new Tween(my_label,"alpha",Strong.easeOut,0,1,1,true);
 
}
 
function timerListener(e:TimerEvent):void {
 
	hidePrev();
 
	my_playback_counter++;
	if (my_playback_counter==my_total) {
		my_playback_counter=0;
	}
	nextImage();
 
}
 
function hidePrev():void {
 
	var my_image:Loader=Loader(my_image_slides.getChildAt(0));
	my_prev_tween=new Tween(my_image,"alpha",Strong.easeOut,1,0,1,true);
	my_prev_tween.addEventListener(TweenEvent.MOTION_FINISH, onFadeOut);
 
	var my_label:TextField=TextField(my_label_slides.getChildAt(0));
	my_tweens_array[2]=new Tween(my_label,"alpha",Strong.easeOut,1,0,1,true);
 
}
 
function onFadeOut(e:TweenEvent):void {
	my_image_slides.removeChildAt(0);
	my_label_slides.removeChildAt(0);
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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