| |||||||
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 2004
Beiträge: 138
| Laufvariable zurücksetzen
Hallo, ich habe ein etwas seltsames Problem, wie ich finde. Es sollte eigentlich nicht schwer zu lösen sein, aber ich komme einfach nicht auf eine Lösung. Ich erstelle eine Linie dynamisch (lineTo) mit einer Laufvariable i - das ganze "onEnterFrame" und ausgelöst auf Tastendruck. Wenn einmal ausgelöst, bildet sich also die Linie und in dieser Zeit ist es nicht möglich, ein weiteres Mal zu drücken. Ist eine bestimmte Länge erreicht, stoppt das ganze und eine weitere Linie darf gezeichnet werden; dazu wird jedes Mal die Tiefe erhöht. Soweit (fast) alles prima. ABER: Beim Starten der neuen Linie soll die Laufvariable i wieder bei Null anfangen. Das Problem: Wenn ich mache "if (Länge erreicht blabla) ... i = 0", bleibt i auf Null, denn das ganze liegt ja in "onEnterFrame". Wie kann ich das umgehen?? Allmählich gehen mir die Ideen aus. Aber es war auch eher ein aussichtsloses Rumrätseln. Danke schonmal für Anworten. Umso mehr, weil es ein langer Text ist - tut mir leid! MfG FireShark |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 138
|
Ich bedanke mich schon mal. Vielleicht habe ich das eigentliche Problem nicht genau genug geschildert. Es geht darum, dass nach besagter Bedingung (Länge erreicht) i auf Null gesetzt werden soll. Beim nächsten Tastendruck soll aber wieder hochgezählt werden. Ich sehe nicht, wie das mit deinem Vorschlag funktionieren soll. ![]() MfG FireShark |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 138
|
Ich habe das Gefühl, dass das Problem daran liegt, dass es sich immer um dieselbe Linie handelt, obwohl ich doch die Tiefe inkrementiere...? Aber so etwas ist unzulässig: createEmptyMovieClip(_root["linie" + j], tiefe++); Was tun? Hier jetzt mal stark vereinfacht das Linienzeichnen: ActionScript:
Nochmal kurz die Problembeschreibung: Jeder Tastendruck soll das Zeichnen einer Linie auslösen. Während des Zeichnens darf ein Weiterdrücken aber nicht gehen. Wenn die Linie fertig ist, soll eine neue nach Tastendruck gezeichnet werden. Leider passieren jedoch seltsame Dinge, je nach dem, was ich versuche. Vielen, vielen Dank schon mal, falls jemand etwas damit anfangen kann. Zur Not kann ich noch die .fla-anhängen. MfG FireShark |
| | |
| | #5 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Aber wenn Du "i" nicht erhöhst zeichnest Du doch immer auf der selben linie?
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #6 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Hier mal ein kleiner Ansatz, des Teil zeichnet solange Horizontale Linien, im abstand von 5 Pixel über die ganze Bühne, solange man den "Backspace" dückt, und des uintere der Bühnenende nicht erreicht worden ist! PHP-Code:
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 138
|
Hey, besten Dank für die viele Mühe!! Das funktioniert!!! Also war ich offensichtlich sehr kurz davor. Mit Deinem ersten Beitrag hast Du recht - das war falsch. Es war auch nur eine Anmerkung am Rande, eher eine Idee, von der ich mir nicht viel erhofft hatte, allein schon, weil ich dachte, dass das hier: createBlabla(blabla, tiefe++) eigentlich ausreichen müsste, damit ich eben nicht immer dieselbe Linie zeichne. Ob das überhaupt das einzige Problem war, weiß ich nicht. Ich werde das ganze jetzt noch einmal genau untersuchen bzw. vergleichen. Aber ich sagte ja - es hat immer fast funktioniert. Vielen Dank noch einmal!!! MfG FireShark P.S.: Du hast aber hier auch einen Fehler: Z. 16: "this.lineTo(this._x+d, this_y);". |
| | |
| | #8 (permalink) | |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
| Zitat:
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" | |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 138
|
Da fehlt ein Punkt: "this._y" muss es heißen. ![]() Ich habe leider mittlerweile neue Probleme, die wahrscheinlich wieder keine sind. Meine Linie soll sich gleichzeitig auch in die andere Richtung ausbreiten. Code: this.lineTo(bla + i, bla); this.lineTo(bla - i, bla); Ich warte nur darauf, dass irgendjemand antwortet, "Dann lass es doch gleich, wenn Du nur Probleme hast."... Mal abwarten. Jede Hilfe willkommen!! MfG FireShark |
| | |
| | #10 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Wennst entgegengesetzt eine linie zeichnen möchtest, muß einen zweiten mc dazu bemühen, des lineTo zeichnet immer vom registrierungspunkt des mcs aus!!
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #11 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
So in der richtung bekommste gegenläufige linien, geht wahrscheinlich eleganter aber ein biusschen soll ja noch zum basteln bleiben! PHP-Code:
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Nov 2004
Beiträge: 138
|
Hallo, die Antwort kommt leider etwas spät, sorry. Abgesehen davon, dass ich beide Lininen vom selben Ort gestartet haben wollte, muss ich sagen: ES KLAPPT!! Es sieht jetzt so aus: PHP-Code: PHP-Code: Man merkt immer wieder, der Teufel steckt im Detail. Aber eine Frage habe ich noch: Beide Linien haben ja verschiedene Tiefen. Wenn ich aber zwei komplett unterschiedliche Linien mache, beispielsweise "linie_links" und "linie_rechts", klappt es nicht mehr. Wieso (nur interessehalber)? Besten Dank noch mal!!! MfG FireShark |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |