Показать сообщение отдельно
Старый 30.10.2008, 01:44
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 7  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
>>картинки грузятся, все ок... меня только напрягает двойной код в главной функции и при событии complete это так и должно быть или можно как нть покрасивее написать?
и еще вопрос как мне твин сделать - появление картинок при загрузке а то я могу ток объявить один только и он естесствеено не успев осуществиться объявляется еще раз и картинки получаются с разной альфой
Код:
package {
	import flash.display.*;
	import flash.events.*;
	import flash.ui.Mouse;
	import flash.text.*;
	import flash.net.*;
	import fl.transitions.Tween;
	import fl.transitions.TweenEvent;
	import fl.transitions.easing.*;

	public class Doc extends Sprite {
		var loader:Loader;
		var req:URLRequest;
		var count:int;
		var position:int;
		var path:String;
		var arr:Array;
		var sp:Sprite;
		var tween:Tween;
		var tr:Boolean;
		var i:int;
		function Doc() {
			path = 'http://www.dnadillo.dn.ua/images/imag/';
			arr = [
			   'magna_17_1024.jpg','magna_33_1024.jpg',
			   'magna_carta_078.JPG','magna_carta_115.JPG',
			   'magna_carta_126.JPG','magna_carta_127.JPG',
			   'magna_carta_131.JPG','magna_carta_133.JPG',
			   'magna_carta_140.JPG','magna_carta_141.JPG',
			   'magna_carta_144.JPG'
			   ];
			req = new URLRequest();
			count = 0;
			position = 0;
			tr = false;
			onward();
			tween = new Tween({i:0}, "i", Regular.easeOut, 0, 1, 10, true);
			tween.stop();
			tween.addEventListener(TweenEvent.MOTION_CHANGE, handleChange);
			tween.addEventListener(TweenEvent.MOTION_FINISH, fin);
		}
		function got(evt:Event) {
			sp = new Sprite();
			sp.addChild(loader);
			addChild(sp);
			sp.alpha = 0;

			count++;
			trace('комплект');
			onward();
			if (tr==false) {
				tr = true;
				tween.start();
			}
		}
		function ioErrorHandler(event:IOErrorEvent):void {
			count++;
			trace('Ошибка');
			onward();
		}
		function onward() {
			if (count < arr.length) {
				trace('Гружу');
				loader=new Loader();
				req.url=path + arr[count];
				loader.load(req);
				loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE,got);
			}
		}
		function handleChange(evt:TweenEvent):void {
			//tween.obj.i;
			for (i=0; i<this.numChildren; i++) {
				if (i==position) {
					sp = this.getChildAt(i) as Sprite;
					trace(sp);
					sp.alpha = tween.obj.i;
				}
				
			}
		}
		function fin(evt:TweenEvent):void {
			position++;
			tween.start();
			trace('Конец');
		}
	}
}