Maxcim
%Europe/Berlin %461 %2010, 12:05
Hallo,
wij zijn voor school bezig met een project waarbij we woorden vanuit een database om de x aantal seconden op het scherm moeten laten verschijnen.
We zijn nu zover dat het in principe helemaal werkt. Om de x aantal seconden wordt de database uitgelezen en die woorden uit de database verschijnen op het scherm.
Wat wij nu nog willen is dat de tekstvelden die worden gegenereerd subtiel bewegen. Dus niet statisch op het scherm staan maar langzaam bewegen.
Het wil ons maar niet lukken om dit werkend te krijgen. Zou iemand ons misschien hiermee kunnen helpen?
Het bestand (werkt ook bij jullie, haalt uit online database):
http://www.maxcim.nl/school/autosave/flashside.rar
Code:
import flash.utils.*;
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML;
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
// timer van 20 sec
var myTimer:Timer = new Timer(1);
myTimer.addEventListener("timer", timedFunction);
// Start de timer
myTimer.start();
// uit te voeren in de 20 sec
function timedFunction(eventArgs:TimerEvent)
{
//xmlLoader = new URLLoader();
//xmlData = new XML();
xmlLoader.load(new URLRequest("http://maxcim.nl/school/autosave/new3.php?cacheBreaker=" + Math.random() * 1000));
}
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
ParseBooks(xmlData);
}
//text()[nummer] is om een regel van de xml op te halen, dit moeten we loepen
//b.v. trace(bookInput.item.text()[1]);
function ParseBooks(bookInput:XML):void {
var authorList:XMLList = bookInput.item;
//de loop. hier gebeurt alles hier wordden de xml items uitgelezen
trace(authorList.length());
for (var i:int = 0; i < authorList.length(); i++)
{
var authorElement:XML = authorList[i];
//trace(authorElement);
var myFont = new Font1();
var myFormat:TextFormat = new TextFormat();
myFormat.size = 35;
myFormat.align = TextFormatAlign.CENTER;
myFormat.color = 0xffffff;
myFormat.font = myFont.fontName;
var myText:TextField = new TextField();
myText.defaultTextFormat = myFormat;
myText.text = authorElement;
myText.width = 30;
addChild(myText)
var getalx = Math.random()*stage.stageWidth;
var getaly = Math.random()*stage.stageHeight;
trace ("x coordinaat: " + getalx + "y coordinaat " + getaly);
myText.x = getalx
myText.y = getaly
}
}
Alvast bedankt :D
wij zijn voor school bezig met een project waarbij we woorden vanuit een database om de x aantal seconden op het scherm moeten laten verschijnen.
We zijn nu zover dat het in principe helemaal werkt. Om de x aantal seconden wordt de database uitgelezen en die woorden uit de database verschijnen op het scherm.
Wat wij nu nog willen is dat de tekstvelden die worden gegenereerd subtiel bewegen. Dus niet statisch op het scherm staan maar langzaam bewegen.
Het wil ons maar niet lukken om dit werkend te krijgen. Zou iemand ons misschien hiermee kunnen helpen?
Het bestand (werkt ook bij jullie, haalt uit online database):
http://www.maxcim.nl/school/autosave/flashside.rar
Code:
import flash.utils.*;
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML;
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
// timer van 20 sec
var myTimer:Timer = new Timer(1);
myTimer.addEventListener("timer", timedFunction);
// Start de timer
myTimer.start();
// uit te voeren in de 20 sec
function timedFunction(eventArgs:TimerEvent)
{
//xmlLoader = new URLLoader();
//xmlData = new XML();
xmlLoader.load(new URLRequest("http://maxcim.nl/school/autosave/new3.php?cacheBreaker=" + Math.random() * 1000));
}
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
ParseBooks(xmlData);
}
//text()[nummer] is om een regel van de xml op te halen, dit moeten we loepen
//b.v. trace(bookInput.item.text()[1]);
function ParseBooks(bookInput:XML):void {
var authorList:XMLList = bookInput.item;
//de loop. hier gebeurt alles hier wordden de xml items uitgelezen
trace(authorList.length());
for (var i:int = 0; i < authorList.length(); i++)
{
var authorElement:XML = authorList[i];
//trace(authorElement);
var myFont = new Font1();
var myFormat:TextFormat = new TextFormat();
myFormat.size = 35;
myFormat.align = TextFormatAlign.CENTER;
myFormat.color = 0xffffff;
myFormat.font = myFont.fontName;
var myText:TextField = new TextField();
myText.defaultTextFormat = myFormat;
myText.text = authorElement;
myText.width = 30;
addChild(myText)
var getalx = Math.random()*stage.stageWidth;
var getaly = Math.random()*stage.stageHeight;
trace ("x coordinaat: " + getalx + "y coordinaat " + getaly);
myText.x = getalx
myText.y = getaly
}
}
Alvast bedankt :D