PDA

Volledige versie bekijken : Get Vars


stefanw_nl
%Europe/Berlin %635 %2007, 16:14
Ik wil variabelen opvragen in mijn flash applicatie.

In mijn geval zijn dat resultaten van een persoon. Dit wil ik weer geven in een grafiek.

Met de oude manier van flash object invoegen in flash kan je met flashvars of in de link naar de swf --> movie.swf?mijvars=blablab.

Alleen gaat dit natuurlijk niet werken met as3. Weet iemand hoe ik dit kan oplossen.

Ik dacht zelf aan:

function getVars()
{
alert('kom je hier, nee zeker?');
var iets="Mijn resultaten";
return iets;
}

package core
{
import flash.display.Sprite;
import flash.text.*;

import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import flash.events.Event;

public class Main extends Sprite
{
var tf:TextField = new TextField();

public function Main():void
{
var bg:Sprite = new Sprite();
bg.graphics.beginFill(0x0000FF);
bg.graphics.drawRect(0,0,640,400);
bg.graphics.endFill();
addChild(bg);

var loader:URLLoader = new URLLoader();
var request2:URLRequest = new URLRequest("javascript:getVars();");
try
{
loader.load(request2);
loader.addEventListener("complete",completeIets);
}
catch(e:Error)
{
}

addChild(tf);
}
private function completeIets(e:Event):void
{
var loader2:URLLoader = URLLoader(e.target);
var variables:URLVariables = new URLVariables(loader2.data);

tf.text = variables.toString();
}
}
}

Dit werkt wel voor het opvragen van gegevens met behulp van php. Alleen ik moet weten voor welke persoon ik de resultaten moet opvragen, waardoor ik het niet via php kan gebruiken.



Weet iemand hoe ik die javascript functie kan uitvoeren en ook data kan terug vragen?
ik weet dat je die js function wel kan aanroepen via navigateToUrl alleen lijkt me niet dat ik dat moet gebruiken

edit: opgelost

voor de mensen die ook dit "probleem" hebben

package core
{
import flash.display.Sprite;
import flash.text.*;

import flash.external.ExternalInterface;

public class Main extends Sprite
{
var tf:TextField = new TextField();

public function Main():void
{
var bg:Sprite = new Sprite();
bg.graphics.beginFill(0x0000FF);
bg.graphics.drawRect(0,0,640,400);
bg.graphics.endFill();
addChild(bg);

var temp:String = ExternalInterface.call("getVars");
if(temp!=null)
{
tf.text = temp;
}
addChild(tf);
}

}
}

TheDutch
%Europe/Berlin %329 %2007, 08:53
Met de oude manier van flash object invoegen in flash kan je met flashvars of in de link naar de swf --> movie.swf?mijvars=blablab.

Alleen gaat dit natuurlijk niet werken met as3. Weet iemand hoe ik dit kan oplossen.
Dat doe je in AS 3 zo:

stage.loaderInfo.parameters.var1;
stage.loaderInfo.parameters.var2;
stage.loaderInfo.parameters.var3;

stefanw_nl
%Europe/Berlin %936 %2007, 23:28
ok thnx, voor de volgende keer misschien. Vind import flash.external.ExternalInterface; ook wel handig.