Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-01-2007, 17:28   #1 (permalink)
Freelenzer
 
Benutzerbild von dervish
 
Registriert seit: Dec 2001
Ort: D
Beiträge: 99
Smooth Lines - Linien glätten

Hi,
Ich versuche seit längerem verzweifelt eine Glätten-Funktion für ein Flashbasiertes Zeichentool zu bauen. Dazu wandle ich in Flash gezeichnete Linien in Kurven um. Leider kommt dabei kein zufriedenstellendes Ergebnis raus, ich habe gegoogelt und bin auf Dinge wie Tangens und sowas gestossen. Leider übersteigt das meine bescheidenen mathematischen Fähigkeiten. ;(

Deshalb mein Aufruf an alle Flash-Mathe-Cracks hier: HILFE !!!!
Wie komme ich weiter?

Hier mal das AS:
ActionScript:
  1. i=0;
  2. this.onMouseDown=function(){
  3.     drawing=true;
  4.     i++;
  5.     clip=this.createEmptyMovieClip("line"+i, i+10);
  6.     clip.lineStyle(1);
  7.     clip.moveTo(_xmouse,_ymouse);
  8.     newLine=_xmouse+"_"+_ymouse;
  9. }
  10. this.onMouseMove=function(){
  11.     if(drawing){
  12.         clip.lineTo(_xmouse,_ymouse);
  13.         newLine += "_"+_xmouse+"_"+_ymouse;
  14.     }
  15. }
  16. this.onMouseUp=function(){
  17.     drawing=false;
  18.     optimize();
  19. }
  20.  
  21. function optimize(){
  22.     points=newLine.split("_");
  23.     clip=this.createEmptyMovieClip("line"+i, i+10);
  24.     clip.lineStyle(1,"0xFF0000",100);
  25.     clip.moveTo(points[0],points[1]);
  26.     for(u=2; u < points.length; u=u+4){
  27.         x1=points[u];
  28.         y1=points[u+1];
  29.         ankerX=points[u+2];
  30.         ankerY=points[u+3];
  31.         if(!ankerY && y1){ ankerY=y1; ankerX=x1; }
  32.         clip.curveTo(x1,y1,ankerX,ankerY);
  33.     }
  34. }

Geändert von dervish (29-01-2007 um 17:51 Uhr) Grund: Rechtschreibung
dervish ist offline   Mit Zitat antworten
Alt 29-01-2007, 18:11   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
das thema ist nicht einfach.
um splines zu glätten wird schon ein bisschen mathe verlangt.

und ein bisschen im forum suchen bringt einen schon weiter:
Script zum Glätten gezeichneter Linienzüge
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 29-01-2007, 18:12   #3 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Hast Du mal die Suche benutzt?
Das Thema gabs letzte Woche schon mal:

Script zum Glätten gezeichneter Linienzüge

Edit: Argh! Der hgseib war schneller!

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 29-01-2007, 22:22   #4 (permalink)
Freelenzer
 
Benutzerbild von dervish
 
Registriert seit: Dec 2001
Ort: D
Beiträge: 99
ok, vielen Dank für Eure schnellen Antworten, ich hoffe ich kriegs mit dem Input einigermassen gebacken
dervish ist offline   Mit Zitat antworten
Alt 30-01-2007, 21:22   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 26
http://motiondraw.com/md/as_samples/...tion/demo.html
blemmo 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 05:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele