| |||||||
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) |
| Notorischer Raser Registriert seit: May 2003 Ort: Heinsberg
Beiträge: 83
|
Hallo, ich bin dabei mir ein kleines Zeichnungsprogramm zu schreiben, besser gesagt ich zeichne Linien auf der Bühne. Jede Linie ist dann ein MovieClip. Nun möchte ich mit beginFill die Fläche Füllen. Nun stellen sich mir folgende Probleme/Fragen : z.B. für ein Quadrat zeichne ich 4 Linien. Habe also 4 MC auf der Bühne. beginnFill kann man nur auf einen MC anwenden deren Linien "geschlossen" sind. Also müsste ich eine Funktion schreiben welche aus meinen 4 MC einen einzigen MC macht. Wenn ich das hätte (dann wäre ich schon ein schritt weiter hähö) ... also wenn ich das hätte dann habe ich unter umstaenden ein quadrat mit überstehenden Linien (weil die Zeichnung nicht exakt war(kann ja mal passieren), wird die innere Fläche dann trotzdem gefüllt? Wie könnte ich das Problem am besten angehen? Ich hoffe Ihr versteht was ich überhaupt meine Danke
__________________ gruss Petter K. |
| | |
| | #2 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
HI, so arbeitet beginFill nicht...du kannst nicht ein leeres Objekt mit Linien bilden und es dann füllen.Du könntest aber beim zeichnen die Koordinaten der Linien "aufzeichnen" (in einem Array speichern) und später mit beginFill() wieder abspielen. Warum zeichnest du eigentlich die verschiedenen Linien in mehreren MCs? Grüße Sascha
__________________ 12:15, press return |
| | |
| | #3 (permalink) | ||
| Notorischer Raser Registriert seit: May 2003 Ort: Heinsberg
Beiträge: 83
| Zitat:
es funktioniert so das man eine Linie (Kurve) Zeichnet, Habe 2 Punkte und in der Mitte ein Punkt wo wenn man dran zieht sich die Linie zu einer Kurve verformt (so Bezier mässig , heist glaube ich Bezier) , dann habe ich an einem Ende der Linie ein kleinen Punkt zum draggen, damit ich die Linie (auch nachdem Ihre Größe und Radius veraendert wurde irgendwo hinziehen kann) , deswegen einzelne MovieClips, weil für den Linien noch eigene Funktionen und Eigenschaften gibt. Zitat:
Bin jetzt so vorgegangen : auf der Bühne liegen nun ja alle meine einzelnen Linien als MovieClip. Mit einer for var i in e schleife gehe ich alle MC's durch und sammle jeweils den Anfangpunkt, den Ende Punkt und den Controller Punkt für den Bezier Teil, dazu kann man die Linien auch noch die Anfang und Endepunkte verschieben. Ein Anfang Punkt ist also nicht gleich der Positionierung des MovieCLip welcher die Linie beinhaltet. Naja das funktioniert auch schon ganz gut bis auf das beim nachzeichnen was mit dem Controllpunkt nicht stimmt, weil wenn ich eine Gerade Linie Zeichne(mache ich mit curveTo), und diese dann spaeter dann mit meinen gesammelten koordinaten nachzeichnen möchte, erhalte ich eine kurve (wenn ich lineTo nehme passt es). Ich versuch nochmal in Kurzform: Beim Zeichnen einer Linie/Kurve erhalte ich folgende Daten: Ausgangspunkt (Erster Klick) Punkt1 (da wo die Linie beginnt) Punkt2 (da wo die Linie aufhört) Mittelpunkt (um die Linie zu einer Kurve zu verzerren) Zum nachzeichnen mache ich folgendes, sammle die Position des MC der ersten Linie , dann mache ich ein moveTo zu Punkt ein (weil dieser nicht gleich der erste geklickte punkt sein muss), dann mache ich mit curveTo den Rest. hmm hier mal meine Funktion, vielleicht sieht man das da besser was ich mache. ActionScript:
Danke PS: WIe müsste der Array aussehen um die Daten einer Kurve zu sammeln und diese dann anhand des Arrays nachzuzeichnen ?
__________________ gruss Petter K. Geändert von petter (18-05-2004 um 19:03 Uhr) | ||
| | |
| | #4 (permalink) |
| Notorischer Raser Registriert seit: May 2003 Ort: Heinsberg
Beiträge: 83
|
Auch das vereinfachte Script hier malt mir eine Kurve. ActionScript:
__________________ gruss Petter K. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |