| |||||||
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: Oct 2003
Beiträge: 1
|
Mahlzeit !! Benötige Hilfe bei einem kleinen Problem. Folgendes: Diese Zeile bewegt die Sequenz "dummy" über die Bühne: _root.dummy._x += 3; Gut und schön. Ich möchte nun aber die Richtung UND das Vorzeichen dynamisch durch Variablen ersetzen. Also: _root.dummy. var dir var sign = 3; Wenn das jetzt nicht so klar geworden sein sollte, hier eine ausführliche Beschreibung der Mission . . . (Hoffe auf schnelle und kompetente Hilfe). Gegeben sind: A - Eine Filmsequenz als grafisches Objekt (Ziel der Aktion). B - Eine Filmsequenz als Script-Container. C - Eine Funktion auf _root. Aufgabenstellung: Die Sequenz (A) soll per Tastendruck über die Bühne bewegt werden können. Dabei soll die Taste gedrückt gehalten werden können (dauerhafte Bewegung). An sich nicht schwer zu lösen, aber das ganze soll so wenig Zeilen wie möglich enthalten. Die Funktion (C) soll die Richtung(_x/_y) und das Vorzeichen (+/-) für die Bewegung der Sequenz (A) dynamisch nutzen(per Argument-Übergabe). Genau das ist aber das Problem, das sich einfach nicht lösen lassen will. Bisheriger Aufbau: A - Ein 50px x 50px Quadrat (Platzhaltergrafik) mit dem Instanznamen "dummy". B - Leere Filmsequenz die folgenden Code enthält: onClipEvent(enterFrame){ if (Key.isDown(Key.LEFT)) { _root.dummyMove("_x","-");// Funktionsaufruf } // // ... Hier würden die weiteren Abfragen nach den // anderen Richtungen folgen ... (Key.RIGHT, Key.UP, usw.) // } C - Funktion "dummyMove" auf _root enthält (sollte enthalten): function dummyMove(dir,sign){ // Name der Sequenz - Die Richtung(dir) - Das Vorzeichen(sign) - Die Zuweisung // Also etwas ähnliches wie hier (bitte nicht zu laut lachen): _root["dummy." + dir] = ((_root["dummy." + dir] + sign) = 2); // Die Klammern sind totaler Schwachsinn (ich weiß), doch das ist ja das Problem. // Wie kann ich dynamisch in einem Ausdruck(oder anders) die beiden Variablen einsetzen?? } |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
schöne lange, unverständliche erklären. könnte glatt von mir sein :-) var vDiverenzX,vDiverenzY; hochpfeil => vDiverenzX=-1 runterpfeil => vDiverenzX=1 linkspfeil => vDiverenzY=-1 rechtsspfeil => vDiverenzY=1 und dann ersetzt du die 1 noch durch eine globale variable, dann kannst du sogar sinnvoll die speed ändern. nachtrag: ich bin auch ein freund der kleinen mc's, man kanns aber auch übertreiben ;-) mach aus der einen zeile zwei: _x+= vDiverenzX; _y+= vDiverenzY;
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (14-11-2003 um 16:09 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |