PDA

Volledige versie bekijken : Code voor 2 tekstvelden in een "Stage"


Jacq286
%Europe/Berlin %833 %2009, 20:00
Ik wil 2 verschillende textvelden maken op dezelfde Stage

Als code gebruik ik voor 1 tekstveld (external.txt) gebruik ik de code:

// externe tekst external.txt
var req:URLRequest = new URLRequest("external.txt");
var loader:URLLoader = new URLLoader();

function fileloaded(event:Event):void
{
external_txt.text = loader.data;
}

loader.addEventListener(Event.COMPLETE, fileloaded);
loader.load(req);

Als 2de tekstveld wil ik banner.txt
Ik loop steeds vast en krijg steeds error code's
Kan iemand mij helpen?

Jan
%Europe/Berlin %841 %2009, 20:11
Welkom op het forum. :)
Er zijn speciale tags om rond je script te zetten ivm de leesbaarheid en code highlighting:
[ as] jouw actionscript [ /as]
http://img175.imageshack.us/img175/3632/forumtagsae7.jpg
Ik loop steeds vast en krijg steeds error code's
Kan iemand mij helpen?
Toon altijd de volledige error. (copy paste em naar het forum). Daar staat nuttige info in om het probleem op te lossen.

Met het script dat je toont is in principe niks mis en het zou moeten werken. Al is het beter om in die eventhandler event.target.data te gebruiken ipv loader.data
Heb je voor actionscript3 gekozen bij new document (ipv actionscript2)?

Groeten,
Jan

Jacq286
%Europe/Berlin %883 %2009, 21:12
Bedankt voor de snelle reactie :)

Met de code die ik heb ingevoerd heb ik 1 veld werken gekregen.
Als ik echter 2 verschillende velden wil hebben krijg ik steeds een fout melding.
b.v.

Scene 1, Layer 'external_txt',Frame 1 Line3 1151: A conflict exists with definition req in namespace internal. var req:URLRequest = new URLRequest("banner.txt");
Scene 1, Layer 'external_txt',Frame 1 Line3 Warning: 3596: Duplicate variable definition. var req:URLRequest = new URLRequest("banner.txt")


// externe tekst external.txt
var req:URLRequest = new URLRequest("external.txt");
var req:URLRequest = new URLRequest("banner.txt");
var loader:URLLoader = new URLLoader();

function fileloaded(event:Event):void
{
external_txt.text = loader.data;
banner_txt.text = loader.data;
}

loader.addEventListener(Event.COMPLETE, fileloaded);
loader.load(req);


De layer heb ik external_txt genoemt.
De externe tekstvelden die ik wil invoegen heb ik banner.txt en external.txt genoemt

Jan
%Europe/Berlin %885 %2009, 21:14
Tja je gebruikt twee keer dezelfde var reg. Zulke namen moeten uniek zijn.
Jan

Jan
%Europe/Berlin %887 %2009, 21:18
Je gebruikt twee keer dezelfde naam voor een variabele, terwijl die eigenlijk uniek moeten zijn. :)
En je laadt maar 1 keer iets met je loader terwijl er 2 keer moet geladen worden.

Ofwel maak je alles dubbel:
var req1:URLRequest = new URLRequest("external.txt");
var req2:URLRequest = new URLRequest("banner.txt");
var loader1:URLLoader = new URLLoader();
var loader2:URLLoader = new URLLoader();
loader1.addEventListener(Event.COMPLETE, fileloaded1);
loader2.addEventListener(Event.COMPLETE, fileloaded2);

function fileloaded1(event:Event):void
{
external_txt.text = loader1.data
}
function fileloaded2(event:Event):void
{
banner_txt.text = loader2.data
}

loader1.load(req1);
loader2.load(req2);
Ofwel gebruik je een Dictionary:
var req1:URLRequest = new URLRequest("external.txt");
var req2:URLRequest = new URLRequest("banner.txt");
var loader1:URLLoader = new URLLoader();
var loader2:URLLoader = new URLLoader();
loader1.addEventListener(Event.COMPLETE, fileloaded);
loader2.addEventListener(Event.COMPLETE, fileloaded);

var dict:Dictionary=new Dictionary()
dict[loader1]=external_txt
dict[loader2]=banner_txt

function fileloaded(event:Event):void
{
dict[event.target].text=event.target.data
}

loader1.load(req1);
loader2.load(req2);

Ofwel houd je een "aantal" bij:
var req:URLRequest = new URLRequest("external.txt");
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, fileloaded);
var aantal:int=0;
function fileloaded(event:Event):void
{
aantal++;
if(aantal==1)
{
external_txt.text = loader.data
req = new URLRequest("banner.txt");
loader.load(req);
}
else if(aantal==2)
{
banner_txt.text = loader.data
}

}
loader.load(req);

Misschien weet iemand nog wel een betere/kortere oplossing?

Groeten,
Jan

Jacq286
%Europe/Berlin %734 %2009, 17:37
Jan

Werkt!
Bedankt, ben hier het hele weekend mee bezig geweest.

Jacq