Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 1046
Begrenset bruker
uaexed's Avatar
Heisann. Har støtt på litt problemer som er barnemat, men som jeg ikke klarer å få taket på.

Kode

function oppdater(e:MouseEvent){
	for (var i:int = 0; i < highscores.length; i++)
	{
		trace(highscores[i].lengde, highscores[i].deltaker);
	}
}
Vil ha dette til å fungere i min

Kode

RankUt.text = highscores[i].lengde +highscores[i].deltaker
også. Hvordan får jeg det? Det blir ikke dynamisk når jeg gjør det sånn.
Hvis du skal ha en eventlistener som oppdateres kontinuerlig bør du bruke:

Kode

addEventListener(Event.ENTER_FRAME,oppdater);
function oppdater(evt:Event){}
Håper det var svaret du ville ha
Begrenset bruker
uaexed's Avatar
Trådstarter
Tenker på å vise alle highscores i textfielden. Nå viser han bare en om gangen. Som man kan se her:
http://imgur.com/c8ebgK8.
tipper du må appende teksten altså noe i gaten RankUt.text = RankUt.Text + ...
Begrenset bruker
uaexed's Avatar
Trådstarter
Fiksa det. Brukte en var for å så si tekst.text = var;.

Kode

function oppdater(e:MouseEvent){
    for (var i:int = 0; i < highscores.length; i++)
    {
        trace(highscores[i].lengde, highscores[i].deltaker);
    }
}
Skal prøve å forklare hva som skjer her.
ActionScript er statisk typet språk. DVS at du må skrive hva slags type ditt variable er.
trace() kaster alt av input til string. Den gir f*en i om det du gir den er en string eller en integer. Den kaster alt til string uansett.

Kode

RankUt.text = highscores[i].lengde +highscores[i].deltaker
.text deimot er en variabel til en klasse, denne har en type deklarasjon av typen string.

Kode

highscores[i].lengde + highscores[i].deltaker
Her antar jeg at du har .lengde som er av typen int, og .deltaker om er av typen string.
string + int == bad.
Legg merke til at i trace() konkatinerer du ikke int og string. Du skiller dem med en komma. Viktig forskjell.

Det du må gjøre er at du må sørge for at variablene du skal ha ut i .text er av typen string, og er konkatinert sammen.

Noe sånt skal funke, men har ingen IDE til å teste, så kan være noen små feil her.

Kode

var oppdater:String = ""
function oppdater(e:MouseEvent): void{
    for (var i:int = 0; i < highscores.length; i++)
    {
        var lengde: String = String(highscores[i].lengde);
        var deltaker:String = String(highscores[i].deltaker);
        oppdater +=  lengde + "\n" + deltaker + "\n"
    }
    RankUt.text = oppdater
}
Ser nå at du slet med et annet problem egentlig.

Det som var feilen var at for hver iterasjon av for loopen, så la du til noe nytt i tekstfeltet.
1 Iterasjon:
legg lengde og deltager inn i tekstfelt, ta bort det gamle.
2. iterasjon:
legg lengde og deltager inn i tekstfelt. tar bort det gamle.

trace() skriver alt ut fortløpende, den tar ikke bort det som alt er skrevet ut.
Sist endret av Foxboron; 16. februar 2013 kl. 13:55.
Begrenset bruker
uaexed's Avatar
Trådstarter
Sitat av Foxboron Vis innlegg
*snip*
Vis hele sitatet...
Veldig bra forklart! Takker!