fumusMedlem sedan apr. 200139 inlägg 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 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
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 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!
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 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
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
Det är jag väl ändå inte. :r
Men det var fint att det löste sig.