Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-01-2004, 03:50   #1 (permalink)
-
 
Registriert seit: Jan 2004
Ort: Paderborn
Beiträge: 67
gekrümmte Linien dynamisch erzeugen

Hallo,

ich möchte Schritt für Schritt von einem Startpunkt zu einem Zielpunkt mehrere Symbole (Kreise, Sterne oder Dreiecke) hintereinander setzen. Am Ende bilden die Symbole dann eine Linie vom Startpunkt zum Zielpunkt.

Da ich gleich mehrere von solchen aus Symbolen zusammengesetzte Linien zeichnen muß, kann ich das nicht per Hand machen, sondern ich muß einen Weg finden, wie ich das mit ActionScript gelöst bekomme.

Mein Problem dabei: Die Linie soll einen gekrümmten Verlauf nehmen. Hat jemand einen Tip, wie ich so etwas mit ActionScript hinbekomme?

Wenn ich das jetzt zu kompliziert erklärt habe, dann schaut bitte mal in die ZIP-Datei.

Gruß
Remi
Angehängte Dateien
Dateityp: zip flashforum_01.zip (5,7 KB, 28x aufgerufen)
remi ist offline   Mit Zitat antworten
Alt 19-01-2004, 12:17   #2 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hallo,

Linien zeichnen geht leider erst ab Flash MX mit der Drawing API.

Du kannst aber zwei Dinge tun:

1. du zeichnest die Kurven als Pfad, machst sie zur Führungsebene und lässt ihnen ein Objekt folgen. Die Koordinaten dieses Objekts kannst du während der Laufzeit auslesen und an diese Stellen deine Kreis o.ä. attachen

2. du beschäftigst dich ein wenig mit Mathematik und berechnest die Kurven: Start- und Endpunkte für x und y eingeben ergibt zumindest schonmal eine Gerade, mit quadratischen Funktionen und/oder trigonometrischen Funktionen solltest du auch eine Krümmung hinbekommen. Dieses "Zeichnen" der Linie kannst du schrittweise in einer Schleife machen und ebenfalls in jeder Iteration ein Objekt aus der Lib attachen.

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 19-01-2004, 17:50   #3 (permalink)
-
 
Registriert seit: Jan 2004
Ort: Paderborn
Beiträge: 67
Vielen Dank für die prima Hinweise.

Vorweg: Flash 5 muß erstmal noch sein.

Ich habe mich zunächst einmal mit der ersten Variante versucht,
da es ja ganz hilfreich sein kann, wenn ich Flash die Pfadanimation berechnen lassen. Dann kann der Pfad, an dem die Objekte entlang laufen zukünftig auch mal ein wenig komplizierter sein.

Also habe ich eine ActionScript-Funktion erstellt, die folgendes durchführt:[list=1][*]Erzeuge mit attachMovie ein neues Symbol.[*]Positioniere das Symbol an der aktuellen Position des Referenzobjekts.[/list=1]

Damit die Symbole auch gezeichnet werden, muß ich bei meinem Ansatz jedoch dafür sorgen, daß diese Funktion in jedem Bild einmal aufgerufen wird. Das konnte ich nur lösen, indem ich in der Ebene mit dem ActionScript jedes Bild als Schlüsselbild definiert habe und dort jeweils mit Copy & Paste einen Aufruf meiner zentralen Funktion eingefügt habe (vgl. ZIP-Datei).
Das ist natürlich nicht der richtige Ansatz, da viel zu arbeitsintensiv.

Daher meine Frage: Geht das noch viel geschickter?

Gruß
Remi
Angehängte Dateien
Dateityp: zip flashforum_01_loesung1.zip (4,9 KB, 24x aufgerufen)
remi ist offline   Mit Zitat antworten
Alt 19-01-2004, 17:58   #4 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
und ob das noch einfacher geht

du kannst auf mov1 ein onClipEvent(enterFrame) legen:
(also auf den MC klicken und in das AS-Fenster folgendes schreiben)

ActionScript:
  1. onClipEvent(load) {
  2.     this.go = true;
  3. }
  4. onClipEvent(enterFrame) {
  5.     if(this.go) {
  6.         _root.punkt();
  7.         if(_root._currentFrame = _root._totalframes) this.go = false; // damit er am Ende auch aufhört.
  8.     }
  9. }

Dann kannst du die anderen punkt()-Aufrufe löschen...
(nur die Funktion selbst natürlich nicht...)

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 19-01-2004, 23:57   #5 (permalink)
-
 
Registriert seit: Jan 2004
Ort: Paderborn
Beiträge: 67
Thumbs up

Hallo Sascha,

Du hast mich auf den richtigen Weg gebracht
Jetzt funktioniert es vom feinsten (vgl. ZIP-Datei).

Vielen Dank für den wertvollen Input!

Gruß
Remi
Angehängte Dateien
Dateityp: zip flashforum_01_loesung2.zip (5,3 KB, 88x aufgerufen)
remi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele