webForumDet fria alternativet

Blanda String och number?

8 svar · 593 visningar · startad av fumus

fumusMedlem sedan apr. 200139 inlägg
#1

Hej,

Har en quiz med ett antal slumpade frågor, där jag (vill) i slutet presenterar vad "quizzaren" har svarat och det rätta svaret.

detta görs mha principen:

textfält som heter (i var-fältet) svar1, svar2...osv
jag har en (räknare)

var num:Number = 0;
num++

som håller koll på vilken fråga jag är på.

sedan har jag:

  var mittSvar:String =this.onRelease;

som tar reda på vilken (av 3 knappar quizzaren tryckt på).

Nu vill jag helst ha detta ganska dynamiskt, såklart ;)
Typ enligt principen

svar+num=mittSvar;
som jag skulle vilja blev dynamiskt
svar1=kaffekokare, svar2=purjolök...osv
men det funkar inte.
Det som fungerar är om jag skriver "hårt" svar1=mittSvar. Då får jag i textfält1 "kaffekokare" i nästa frame

Antar att det har med att blanda siffror och strängar och göra, men jag får inte ihop det. Fredagskoma sen i onsdags ;)

Får ursäkta ev otydligheter och så, sitter med mosad gurka i huvudet!

Mvh
C

fumusMedlem sedan apr. 200139 inlägg
#2

ok nu har jag kommit en bit på vägen, men jag vet inte hur jag ska knyta ihop.

function incorrect() {
	a.onRelease = ansa;
	b.onRelease = ansb;
	c.onRelease = ansc;
	
	var mittSvar:String = this.onRelease;
	var skicka:String = "svar"+num;
	var Svaret:String = skicka+"="+mittSvar;
	trace([red][B]Svaret[/B][/red]);//Ger hur fint som helst det jag vill ha dvs svar1=japan, svar2=vattenpistol...osv
}

Men hur ska jag få textfälten på nästa frame att fatta att de ska matcha.
Jag vill liksom "kicka in" Svaret på slutet.

Snälla! Jag blir vansinnig!

//C

andyoumaydieMedlem sedan dec. 2006608 inlägg
#3

ett väldigt enkelt sätt är ju att lägga till:

function incorrect() {
	a.onRelease = ansa;
	b.onRelease = ansb;
	c.onRelease = ansc;
	
	var mittSvar:String = this.onRelease;
	var skicka:String = "svar"+num;
	var Svaret:String = skicka+"="+mittSvar;
           [B][red]_root.allaSvar = Svaret;[/red][/B]
	trace(Svaret);//Ger hur fint som helst det jag vill ha dvs svar1=japan, svar2=vattenpistol...osv
}

Och i textfältets variabelfält skriva:

_root.allaSvar
fumusMedlem sedan apr. 200139 inlägg
#4

Jo fast problemet är att jag har flera textfält.
Som då heter (i var fältet) svar1, svar2, svar3 osv

Och det jag är ute efter är att får fram siffran efter svar dynamiskt.

ex svar+num=mittSvar;

Grunden är att jag slumpar ju ut 12 frågor, så skulle ju inte svaren på sista framen visas i ordning, varje gång.

Har mosshjärna så jag ber om översyn för ev otydligheter!

mrnonameMedlem sedan okt. 200670 inlägg
#5

Vet inte om jag fattar dig rätt men gissar lite vilt på att du är ute efter dynamiska variabelnamn

eval("svar"+num).svar = mittSvar;

Är num = 1 och mittSvar = kaffekokare så motsvarar det
svar1.svar = "kaffekokare";

fumusMedlem sedan apr. 200139 inlägg
#6

nja nästan, jag är ute efter. Vilket jag får att fungera men jag får inte med mig den två frames fram. Där jag har flera textfält som heter (i var) svar1, svar2 svar3 osv...

svar1="kaffekokare"
där siffran är dynamisk

andyoumaydieMedlem sedan dec. 2006608 inlägg
#7

fumus skrev:

function incorrect() {
	a.onRelease = ansa;
	b.onRelease = ansb;
	c.onRelease = ansc;
	
	var mittSvar:String = this.onRelease;
	var skicka:String = "svar"+num;
	var Svaret:String = skicka+"="+mittSvar;
	trace(Svaret);//Ger hur fint som helst det jag vill ha dvs svar1=japan, svar2=vattenpistol...osv
}

//C

När du gör en trace på detta, får du då en lång sträng med alla svar?
T ex:
"svar1=japan, svar2=vattenpistol, svar3=isbjörn"

Eller får du bara 1 svar åt gången?
T ex:
"svar1=japan"
"svar2=vattenpistol"

Jag gissar på det sista och då borde det här fungera:

function incorrect() {
	a.onRelease = ansa;
	b.onRelease = ansb;
	c.onRelease = ansc;
	
	var mittSvar:String = this.onRelease;
	_root["svar"+num]=mittSvar;
	//var skicka:String = "svar"+num;
	//var Svaret:String = skicka+"="+mittSvar;
	//trace(Svaret);//Ger hur fint som helst det jag vill ha dvs
	//svar1=japan, svar2=vattenpistol...osv
}

Och i var på textfältet:

_root.svar1
fumusMedlem sedan apr. 200139 inlägg
#8

TACK!!!

DU ÄR MIN ÄNGEL!!

andyoumaydieMedlem sedan dec. 2006608 inlägg
#9

Det är jag väl ändå inte. :r
Men det var fint att det löste sig.

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)