Я написал фрагмент кода слайдера изображений, где я могу загрузить изображения из XML. все идет хорошо, но когда я хочу сделать режим кнопки загруженного изображения, он идет не так и seys:
"ReferenceError: Ошибка # 1056: невозможно создать свойство buttonMode для flash.display.Loader."
вот полный код:
import flash.display.Stage;
import flash.events.Event;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.xml.XMLDocument;
import flash.text.TextField;
//tween - start
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.events.MouseEvent;
//tween - end
//timer-start
import flash.utils.Timer;
//timer-end
var myStage:Stage = this.stage;
myStage.scaleMode = StageScaleMode.NO_SCALE;
myStage.align = StageAlign.TOP_LEFT;
var sliderXML:XML = new XML();
var sliderXMLurl:String = 'sliderXML.xml';
var sliderXMLreq:URLRequest = new URLRequest(sliderXMLurl);
var sliderXMLloader:URLLoader = new URLLoader(sliderXMLreq);
sliderXMLloader.addEventListener("complete",loadXML);
var sliderNum:int = 0;
var sliderMaxNum:int = 0;
var LastSliderNum:int = 0;
var strTitle:Array = [];
var strPosterLink:Array = [];
var strVideoLink:Array = [];
var poster:Array = [];
var Playing:int = 1;
addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler);
myStage.addEventListener(Event.RESIZE, ResizeHandler);
var myTimer:Timer = new Timer(10000); //10 second
myTimer.addEventListener(TimerEvent.TIMER, viewNext);
myTimer.start();
function fl_EnterFrameHandler(event:Event):void
{
var swfWidth:int = myStage.stageWidth;
var swfHeight:int = myStage.stageHeight;
slider_bg.width = swfWidth;
slider_bg.height = swfHeight;
}
function loadXML(event:Event):void{
sliderXML=XML(sliderXMLloader.data);
var xmlDoc:XMLDocument = new XMLDocument();
xmlDoc.ignoreWhite = true;
var menuXML:XML = XML(sliderXMLloader.data);
xmlDoc.parseXML(menuXML.toXMLString());
//var X:int = 100;
for each(var listItem:XML in sliderXML..listItem){
strTitle[sliderMaxNum] = listItem.itemTitle.toString();
strPosterLink[sliderMaxNum] = listItem.posterLink.toString();
strVideoLink[sliderMaxNum] = listItem.videoLink.toString();
var _temp:Loader = new Loader();
poster.splice(sliderMaxNum, 0, _temp);
poster[sliderMaxNum].load(new URLRequest(strPosterLink[sliderMaxNum]));
//i think that here must be done something
addChild(poster[sliderMaxNum]);
poster[sliderMaxNum].x = myStage.stageWidth;
poster[sliderMaxNum].y = 28;
poster[sliderMaxNum].buttonMode = true;
poster[sliderMaxNum].addEventListener(MouseEvent.CLICK, poster_click(sliderMaxNum));
sliderMaxNum = sliderMaxNum+1;
}
LastSliderNum = sliderMaxNum - 1;
//*************************************************
var myTween:Tween = new Tween(poster[sliderNum],'x',Strong.easeOut,poster[sliderNum].x,(myStage.stageWidth - 640)/2,2,true);
//*************************************************
}
Я думаю, что здесь есть проблема:
for each(var listItem:XML in sliderXML..listItem){
strTitle[sliderMaxNum] = listItem.itemTitle.toString();
strPosterLink[sliderMaxNum] = listItem.posterLink.toString();
strVideoLink[sliderMaxNum] = listItem.videoLink.toString();
var _temp:Loader = new Loader();
poster.splice(sliderMaxNum, 0, _temp);
poster[sliderMaxNum].load(new URLRequest(strPosterLink[sliderMaxNum]));
//i think that here must be done something
addChild(poster[sliderMaxNum]);
poster[sliderMaxNum].x = myStage.stageWidth;
poster[sliderMaxNum].y = 28;
poster[sliderMaxNum].buttonMode = true;
poster[sliderMaxNum].addEventListener(MouseEvent.CLICK, poster_click(sliderMaxNum));
sliderMaxNum = sliderMaxNum+1;
}