![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Dec 2008
Сообщений: 15
|
Наверное этот вопрос покажется глупым, но как подгрузить одну единственную jpg картинку в swf при помощи xml?
Не нашла похожего вопроса на форуме. Качала исходник фотогалереи, убирала всё лишнее - не работает. P.S. может не работает потому что в этой же флешке из другого xml играет музыка? Могут ли они конфликтовать? ![]() Конкретней: http://www.katra.fi/www/katrasoitin.swf в идентичный плеер должна подгружаться обложка альбома Последний раз редактировалось LizaBraun; 06.12.2008 в 04:55. |
|
|||||
|
Цитата:
__________________
Дело не в тебе |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 15
|
Заказчик так попросил, они хотят когда будет выходить новый альбом заменять обложку без моей помощи. о_О
|
|
|||||
|
>>обложку без моей помощи.
Так денежек возьми как за десять, но с твоей помощью. В ощем создаем новый actionScript файл пишем туда свою хмл Файл -> сохранить как -> pic.xml Пишем документ класс Main package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.text.*;
import flash.events.*;
public class Main extends Sprite
{
private var uniLoader:UniLoader;
private var completeCount:int;
private var xml:XML;
private var url:String;
private var loader:Loader;
public function Main():void
{
trace("Поехали");
url = "pic.xml";
uniLoader = new UniLoader(url, this);
completeCount = 0;
}
public function crashMessage(_str:String):void {
var txt:TextField = new TextField();
txt.autoSize = TextFieldAutoSize.LEFT;
txt.htmlText = "<font color='#ff0000' size='30'>" + _str;
addChild(txt);//добавить на рабочее поле
}
public function uniComplete():void {
if (completeCount == 0) {//xml загружена
xml = XML(uniLoader.data);
url = String(xml.toString());
trace("Загрузка "+ url);
uniLoader = new UniLoader(url , this);
}
if (completeCount == 1) {//рисунок загружен
loader = new Loader;
loader.loadBytes(uniLoader.data);
this.addChild(loader);
}
completeCount++;
}
}
}
import flash.net.*;
import flash.events.*;
class UniLoader extends URLLoader
{
private var doc:Main;
private var url:String;
function UniLoader(_url:String, _doc:Main) {
doc = _doc;
url = _url;
dataFormat = URLLoaderDataFormat.BINARY;
configureListeners(this);
try {
load(new URLRequest(url));
} catch (error:Error) {
doc.crashMessage("При загрузке\n"+url+"\nПроизошла ошибка");
}
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE,completeHandler);
dispatcher.addEventListener(Event.OPEN,openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS,progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
}
private function completeHandler(event:Event):void {
doc.uniComplete();
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
doc.crashMessage("Error При загрузке\n"+url+"\Ошибка security");
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
doc.crashMessage("Error При загрузке\n"+url+"\nОшибка потока");
}
}
Последний раз редактировалось Alex Lexcuk; 06.12.2008 в 22:54. |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 15
|
Ой, пасиба-пасиба-пасиииба!!!
![]() Добавлено через 16 минут упс... я ступила, там AS 2.0 и там класс не прописать( как быть? переделывать всё под 3.0? |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|