I’m working on a small project where I have an external AS class which is passed the stage via the constructor. I then want to start/stop a movieclip on the main stage from that external class. Right now I’m getting an error stating that it’s not a property of the stage. Any help/enhancements would be greatly appreciated.
import aotRSS
//var url:String = root.loaderInfo.parameters.url // To be used later after testing
var url:String = 'http://www.domain.org/rss.php?limit=10'
var rss:aotRSS = new aotRSS(url, this.stage)
rss.updateData()
var feedUpdater:Timer = new flash.utils.Timer(1000*60*10)
feedUpdater.addEventListener(TimerEvent.TIMER, rss.updateData)
feedUpdater.start()
entryTitle.htmlText = rss.getTitle()
entrySummary.htmlText = rss.getDescription()
function periodicUpdate() {
rss.rotateItems()
entryTitle.htmlText = rss.getTitle()
entrySummary.htmlText = rss.getDescription()
}
aotRSS.as
package {
import flash.display.Stage
import flash.utils.Timer
import flash.events.TimerEvent
import flash.net.URLLoader
import flash.net.URLRequest
import flash.net.URLLoaderDataFormat
import flash.events.Event
import flash.display.MovieClip
public class aotRSS {
private var xmlData:XML
private var xmlList:XMLList
private var position:Number
private var loader:URLLoader
private var url:String
private var stage:Stage
private var title:String
private var description:String
public function aotRSS(feedURL:String, stageRef:Stage):void {
url = feedURL
position = 0
stage = stageRef
}
private function onLoadXML(ev:Event):void {
try {
xmlData = new XML(ev.target.data)
xmlList = xmlData.channel.item
rotateItems()
} catch (e:TypeError) {
title = 'Failed to process XML'
description = 'Feed currently unavailable<br />'+e.message
}
}
public function updateData():void {
MovieClip(stage.updateNotifier).gotoAndPlay(2)
loader = new URLLoader()
loader.dataFormat = URLLoaderDataFormat.TEXT
loader.addEventListener(Event.COMPLETE, onLoadXML)
loader.load(new URLRequest(url))
MovieClip(stage.updateNotifier).gotoAndPlay(1)
}
public function getTitle():String {
return title
}
public function getDescription():String {
return description
}
public function rotateItems():void {
if(position > xmlList.length()) {
position = 0
}
trace(xmlList[position])
//title = '<a href="'+xmlList[position].link+'">'+xmlList[position].title+'</a>'
//description = xmlList[position].summmary
title='Demo'
description='Demo Data'
position++
}
}
}