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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 17.05.2012, 10:35
ObOs вне форума Посмотреть профиль Отправить личное сообщение для ObOs Найти все сообщения от ObOs
  № 2  
Ответить с цитированием
ObOs
 
Аватар для ObOs

Регистрация: Jul 2009
Сообщений: 149
Допустим создать свой класс картинки MyImage у которого есть свойство vid

И зачем вы при каждом клике повторно грузите тот же xml файл?

Можно так
Код AS3:
package 
{
import flash.display.Bitmap;
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
 
 
	public class Main extends Sprite 
	{
	private const XML_PATH:String = "data.xml";
	private var xml:XML;
	private var pict:Bitmap;
	private var imageList:Array = new Array();
	private var imageContener:Sprite;
 
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
 
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			var xmlLoader:URLLoader = new URLLoader();
			xmlLoader.load(new URLRequest(XML_PATH));
			xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedHandler);
		}
 
		private function xmlLoadedHandler(e:Event):void {
			xml = new XML(e.target.data);
			var xmlList:XMLList = xml.settings.pictures.children();
			for (var i:int = 0; i < xmlList.length(); i++) {
				var imgXML:XML = new XML(xmlList[i]);
				var myImage:Object = new Object();
				myImage.url = imgXML.@url;
				myImage.vid = imgXML.@vid;
 
				imageList.push(myImage);
			}
			imageContener = new Sprite();
			addChild(imageContener);
			imageContener.addEventListener(MouseEvent.CLICK, imageClickHandler);
			imageClickHandler(null);
		}	
 
		private function imageClickHandler(e:MouseEvent):void {
			var randomValue:uint = Math.floor(Math.random() * imageList.length);
			trace('vid = ' + imageList[randomValue].vid);
			var loader:Loader = new Loader();
			loader.load(new URLRequest(imageList[randomValue].url));
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoadedHandler);
		}
 
		private function imageLoadedHandler(e:Event):void {
 
			pict = e.target.content as Bitmap;
			pict.smoothing = true;
			imageContener.addChild(pict);
		}
 
}	
}


Последний раз редактировалось ObOs; 17.05.2012 в 11:54.
Создать новую тему   Часовой пояс GMT +4, время: 11:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
xml flash
Опции темы
Опции просмотра

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

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


 


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


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