I have a slideList being populated by XML. Its datascource is just an ID. I added an event listener when you rollOver the listItem. I keep getting this error
TypeError: Error #1034: Type Coercion failed: cannot convert XMLList@359defb1 to flash.display.DisplayObject.
at Vforum/::showThumb()
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at fl.controls::SelectableList/fl.controls:SelectableList::handleCellRendererMouseEvent()
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: file:///E|/New%20Vforum%20AS3/data/slide01.jpg
at Vforum$iinit()
the problem resides in my showThumb function…anyone know whats up?
package
{
import flash.text.TextField;
import flash.display.MovieClip;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.errors.*;
import flash.events.*;
import fl.events.ListEvent;
public class Vforum extends MovieClip
{
private static const MEDIAPATH:String = "data/";
private static const PADNUM:String = "01_";
private static const SLIDESCALE:Number = 0.7;
private var xmlData:XML;
private var xmlLoader:URLLoader = new URLLoader();
private var thumbLoader:URLLoader = new URLLoader();
private var xmlList:XMLList;
public function Vforum():void
{
var xmlSource:String = xmlSheet.text;
xmlLoader.addEventListener(Event.COMPLETE, onComplete);
xmlLoader.load(new URLRequest(MEDIAPATH + xmlSource));
slideList.addEventListener(ListEvent.ITEM_ROLL_OVER, showThumb);
//slideList.addEventListener(ListEvent.ITEM_CLICK, showData);
//slideList.addEventListener(ListEvent.ITEM_ROLL_OUT, showOrigThumb);
}
private function onComplete(e:Event):void
{
xmlData = new XML(xmlLoader.data);
xmlList = new XMLList(xmlData..Slide);
for (var i:uint = 0; i < xmlList.length(); i++)
{
var title = xmlList*.Title;
var slideID = xmlList*.@id;
var bgSwf = xmlList*.BGSwf;
var swfFile = xmlList*.SwfFile;
var slideText = xmlList*.SlideText;
slideList.addItem({label:slideID + ". " + title, data:slideID});
}
}
private function showThumb(e:ListEvent):void
{
var thumb = e.item.data;
if (thumb >= 10)
{
thumbLoader.load(new URLRequest(MEDIAPATH + "slide" + thumb + ".jpg"));
} else
{
thumbLoader.load(new URLRequest(MEDIAPATH + "slide0" + thumb + ".jpg"));
}
thumbs.addChild(thumb);
}
}
}