| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Nov 2006
Beiträge: 23
| dynamischer Wert als Inhalt einer variable - geht das in as?
Hallo, Das hier ist mein erster Post. Ich bin leider kein großer Actionscripter sondern eher ein Anfänger, und nun hab ich da mal ne Frage. Und zwar möchte ich in Actionscript einen Wert in einer Variablen speichern. Dies soll aber kein bestimmter Wert sein sondern ein Wert der für einen belibigen Buchstaben von a-z stehen kann. Sozusagen eine vorher nicht definierte Variable als Wert in einer Variablen. Ich hoffe das ist verständlich. Das ist etwas kompliziert das zu erklären. Es geht darum, dass ich mehrere Variablen habe, die denselben Namen haben mit Ausnahme eines Buchstabens am Ende.Eine davon hat den Wert "true" und soll ihn auch behalten. Die übrigen können "true" sein, sollen aber false sein, wenn eine andere "true" ist. Also Wie ein Radio-Button, wenn einer aktiviert ist dann sollen die anderen zurückgesetzt werden. Nun möchte ich aber nicht jede Variable einzeln zurücksetzen, sondern alle gleichzeitig. Hoffe da kann mir jemand helfen. Vielen Dank schonmal im voraus. |
| | |
| | #2 (permalink) |
| Der Wunderhund Registriert seit: Jun 2002 Ort: Hattingen
Beiträge: 10.515
|
Hallo und willkommen im Flashforum. Bin nicht sicher ob ich Dich verstanden habe … Du kannst Variablen dynamisch ansprechen. Wenn Deine Variablen z.B. test1 bis test20 heißen, kannst Du sie alle so ansprechen: PHP-Code: aber bei den Buchstaben des Alphabets geht es z.B. so (der Einfachkeit halber hier nur mit den ersten fünf): PHP-Code: |
| | |
| | #3 (permalink) | |
| Neuer User Registriert seit: Nov 2006
Beiträge: 23
|
Danke für die schnelle Antwort und die nette Begrüßung. Zitat:
Das was ich machen will ist sowas wie ein kleiner Psychotest, den man so aus Zeitschriften kennt, nur halt in Flash. Bei den ersten Fragen sind Mehrfachauswahlen möglich, also mit Checkboxen. Und das funktioniert auch alles bestens. Bei Frage 3 und 4 brauche ich allerdings Radio-Buttons. Wenn ich jeden Radiobutton einzeln zurücksetze, dann klappt es auch wunderbar. Aber ich würde gerne eine Funktion haben, die ich für jeden Radiobutton benutzen kann und die dann alle Radio-Buttons deaktiviert, bis auf den, den ich gerade angeklickt habe. Ich hab da folgenden Code geschrieben: Code: function statusRadio(){
if (_root["checked"+i+a] != true){
checkit();
} else{
uncheckit();
}
if (_root["checked"+i+b] == true & _root["checked"+i+b] != _root["checked"+i+a]){
_root["f"+[_root.i]+[_root.b]+"_mc"].gotoAndStop("nein");
_root["checked"+i+b] = false;
_root.punkte -= wert;
}
} Bis dahin funktioniert es auch noch. Nun kann es ja sein, dass ich vorher schon auf einen anderen Radio-Button geklickt und aktiviert habe. Der soll jetzt natürlich deaktiviert werden. Da ich aber praktisch auf jeden Radio-Button geklickt haben könnte, bis auf den mit der Variablen _root.checked3e müssten ja alle deaktiviert werden, bis auf eben dieser. Da hab ich mir diese Zeile hier ausgedacht: Code: if (_root["checked"+i+b] == true & _root["checked"+i+b] != _root["checked"+i+a]){ Ich habe b jetzt mal, wie du geschrieben hast folgenden wert zugewiesen: Code: b = new Array("a", "b", "c", "d", "e"); Ich hoffe ich konnte mein Problem etwas verständlicher machen. Wäre auf jeden Fall suuuuuuuuper dankbar, wenn mir da jemand Erleuchtung schenken könnte. | |
| | |
| | #4 (permalink) |
| Der Wunderhund Registriert seit: Jun 2002 Ort: Hattingen
Beiträge: 10.515
|
Sehe ich es richtig, daß jede Frage aber für sich selber steht? Also Du mußt nicht auch noch die Radiobuttons von Frage 2 oder 4 mit deaktivieren? Dann würde ich es vielleicht so machen: PHP-Code: die nicht mit dem übergebenen Wert von »buttonChar« übereinstimmen. (Zumindest hoffe ich das, da ich die Funktion nicht getestet habe). ![]() Aufgerufen wird das ganze dann per: PHP-Code: gruß, gaspode |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Nov 2006
Beiträge: 23
|
Hui, du bist ja der Größte! Um diese Uhrzeit dem Cörv noch mit seinen Problemchen beizustehen. Also vielen Dank. Werds auf jeden Fall sofort ausprobieren. Muss aber zugeben, so ganz hab ich die Funktion noch nicht verstanden. Was macht denn z.B. die i Variable. Ist die irgendwie dazu gut, um auf die einzelnen Inhalte des Arrays zuzugreifen? Würd ja passen, sind ja 5 Buchstaben drin und son Array fängt doch immer bei 0 an, oder? Aber wenn ja, wie weiß Flash denn das i sich ausgerechnet auf das Array bezieht. Ne, warte ich glaub ich weiß, hier buttonNames[i] wird die Zahl i an das Array übergeben und das spuckt dann den jeweiligen Buchstaben mit der Zahl aus richtig? Na, denn hab ichs doch verstanden. Vielen, vielen Dank. Ich sag bescheid, obs geklappt hat. Und wenn nich dann sehen wir uns morgen wieder hier. |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Nov 2006
Beiträge: 23
|
Hallo, ich bins wieder. Hab das Script gestern noch ausprobiert, aber leider hat es noch nicht funktioniert. Ich glaub das kommt sich da noch mit ner anderen Funktion ins Gehege. Ich komm aber nich drauf wie. Ich hab also deine Funktion folgendermaßen übernommen: Code: function uncheckRadios(i, a){
for (j=0; j<5; j++) {
if (b[i] != a) {
_root["checked"+i+b[j]] = false;
} else {
_root["checked"+i+b[j]] = true;
}
}
} Code: function statusRadio(){
if (_root["checked"+i+a] != true){
checkit();
} else{
uncheckit();
}
_root.uncheckRadios(i, a);
} Code: on (release) {
_root.a = "e";
_root.wert = 50;
_root.statusRadio();
} Ich wär für Hilfe wieder überaus dankbar. |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Nov 2006
Beiträge: 23
|
Aha, ein kleiner Erfolg! Bei der Funktion uncheckRadios() hat sich ein kleiner Tippfehler eingeschlichen. Code: function uncheckRadios(i, a){
for (j=0; j<5; j++) {
if (b[i] != a) {
_root["checked"+i+b[j]] = false;
} else {
_root["checked"+i+b[j]] = true;
}
}
} |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Nov 2006
Beiträge: 23
|
Ja, den Fehler hatte ich zuerst gemacht. Hat auch was gebracht, die uncheckit(), hatte danach auch wieder funktioniert. Aber die anderen Radiobuttons wurden danach immer noch nicht zurückgesetzt. Super übrigens, dasde wieder da bist. Hab nämlich nochn kleines Problemchen. Wollte nämlich gerne den Status true oder false der "checked"+i+a -Variable austracen. Da hab ich gedacht, wenn ich das hier schreibe: Code: trace("checked"+i+a+" = "["checked"+i+a"]); Wie kann ich das denn machen, dass er mir stattdessen den true oder false Wert ausgibt? |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Nov 2006
Beiträge: 23
|
Ah, ich hab ihn gefunden den Fehler. *Freude* War ein ganz blöder Fehler von mir. Ich hab in der Zeile, die dem Radio-Button-MC sagt, dass er auf aktiviert springen soll vergessen das [j] vergessen hinter die b-Variable zu setzen. Blöd von mir. Vielen Dank dir. Dein Script hat mir echt den Tag gerettet. Danke, Danke Danke. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |