I am having a problem with dispalying the UILoader on the mcContainer I have on my main
timeline;
I wrote a class (below) that loads fine
meaning:
sourceValue=theXML.key[key].swfFile;
this code when traced outputs all the correct URL’s from the XML.
package chromatic.load_files{
import fl.containers.UILoader;
import flash.display.MovieClip;
import flash.events.Event;
import fl.data.DataProvider;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.*;
public class UIImageComponent extends MovieClip {
public var uiImage:UILoader=new UILoader();
public var dp:DataProvider=new DataProvider();
private var dataLoader:URLLoader=new URLLoader();
private var theXML:XML=new XML();
private var listURL:URLRequest=new URLRequest();
private var arrayImage:Array=new Array();
private var singleImage:String;
private var key:String;
private var fileName:String;
private var sourceValue:String=null;
private var evtIndex:int;
private var evtName:String;
private var sel:Number=-1;
private var xmlList:XMLList;
public function UIImageComponent():void {
}
public function init(fileName,key):void {
this.fileName=fileName;
this.key=key;
setfileName(fileName);
setKey(key);
setupComponent(fileName,key);
}
private function setupComponent(fileName,key):void {
this.fileName=fileName;
this.key=key;
uiImage=new UILoader();
uiImage.setSize(50,50);
uiImage.x=135;
uiImage.y=13;
//uiImage.width=110;
//uiImage.height=50;
theXML=new XML(fileName);
theXML.ignoreWhitespace=true;
listURL=new URLRequest(theXML);
dataLoader=new URLLoader(listURL);
try {
dataLoader.load(listURL);
} catch (error:Error) {
trace("Unable to load requested document");
}
dataLoader.addEventListener(Event.COMPLETE,dataLoaded);
//uiImage.addEventListener(Event.CHANGE, selectedName);
//uiImage.addEventListener(Event.CHANGE,changeEvent);
//uiImage.addEventListener(Event.COMPLETE,doTrace);
//uiImage.addEventListener(Event.RESIZE,doTrace);
}
private function dataLoaded(evt:Event):void {
theXML=XML(dataLoader.data);
//trace("////////////////// UI "+theXML);
key=getKey();
sourceValue=theXML.key[key].swfFile;
trace("///// ui key "+sourceValue+" //////////////////");
uiImage.source=sourceValue;
}
/*
private function selectedName():void {
/*Combobox evt.target.setupComponent cannot have spaces (as we have).So
until
* I learn how to rid a string of spaces thus the var key
*/
/*this bloct to be replaced by an hotspot event
uiImageComponent=new UIImageComponent
key=concatArray[evtIndex];
uiImageComponent.setfileName(this.fileName);
uiImageComponent.setkey(this.key);
uiImageComponent();
}
private function doTrace(evt:Event):void {
trace(uiImage.width);
uiImage.scaleContent=true;
uiImage.maintainAspectRatio=false;
}
*/
private function changeEvent(evt:Event):void {
trace(" You selected a key");
}
public function setfileName(fileName):void {
this.fileName=fileName;
}
public function getfileName():String {
return fileName;
}
public function setKey(key):void {
this.key=key;
}
public function getKey():String {
return key;
}
}
}
Now when I go to the actions layer keyframe of the timeline I have:
/*
import chromatic.load_files.Main;
var main:Main=new Main();
main;
*/
var cbMajorComponent:CBMajorComponent=new CBMajorComponent();
var cbMinorComponent:CBMinorComponent=new CBMinorComponent();
var uiImageComponent:UIImageComponent=new UIImageComponent();
var tlImageComponent:TLImageComponent=new TLImageComponent();
stage.addChild(cbMajorComponent.cbMajor);
stage.addChild(cbMinorComponent.cbMinor);
mcContainer.addChild(uiImageComponent.uiImage);
mcContainer.addChild(tlImageComponent.tlImage);
Here the combobox’s function fine yet they have listeners and selectedItem() traces
the above mentioned URLS but nothing appears in the mcContainer.
Could someone help me to learn how to an image to dispay here?
Thanks
ceyesuma