Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-02-2005, 10:25   #1 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Zeichnen: Punkte interpolieren

Hoi,

Szenario: User zeichnet mit der Maus, natürlich ist das ganze nicht wirklich weich und rund, deshalb die Idee die Punkte "weichzuzeichnen".
Also aus nem Punkte-Array sozusagen Punkte zu interpolieren.
oder curveTo zu benutzen anstatt LineTo.
Jemand zufällig ein tolles Script zur Hand oder ne Inspiration?
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 01-02-2005, 11:23   #2 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
vielleicht sowas?

ist noch nicht ganz smooth, aber ein bißchen
Angehängte Dateien
Dateityp: zip draw_ease.zip (3,3 KB, 10x aufgerufen)
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 01-02-2005, 12:12   #3 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
Hi,

erstma danke für die Antwort.
Wie man in dem Swf sieht sind bei schnellen Mausbewegungen immernoch winkel drin, die einfach durch die geringe Zeichen-Frequenz bei grossen Distanzen herühren.
Da ein erhöhen der Framerate nicht möglich ist, müssen eben diese Winkel "rundgerechnet" werden...

Wenn man alle Punkte in einem Array hat, dann kann man ja zwischen den Punkten die Winkel berechnen und so Zwischenschritte einfügen.
Ich habs probiert und nicht gerallt
Rallts jemand?
__________________
jeden Tag frisch
beachmeat ist offline   Mit Zitat antworten
Alt 01-02-2005, 12:43   #4 (permalink)
Nix Wisser
 
Benutzerbild von nullidee
 
Registriert seit: May 2003
Ort: Würzburg, Kleinstadt
Beiträge: 3.510
habe hier noch mal ein Script,

ist für SWiSHmax gemacht, kann man aber bestimmt umschreiben
ich muss jetzt leider wegfahren......

ActionScript:
  1. function curveSmooth(clip,p1,p2,p3){
  2. if (_root.mid1!=undefined){ var mid1=[((p1[0]+p2[0])/2),((p1[1]+p2[1])/2)]};
  3. var mid2=[((p2[0]+p3[0])/2),((p2[1]+p3[1])/2)];
  4. clip.moveTo(mid1[0],mid1[1]);
  5. clip.curveTo(p2[0],p2[1],mid2[0],mid2[1]);
  6. _root.mid1=mid2;
  7. }
  8. onLoad () {
  9. _root.lineStyle(0, 0x000000, 100);
  10. draw = false;
  11. }
  12. on (press) {
  13. draw = true;
  14. startX = _root._xmouse;
  15. startY = _root._ymouse;
  16. _root.moveTo(startX,startY);
  17. }
  18. on (release) {
  19. draw = false;
  20. }
  21. onEnterFrame() {
  22. if (_root.draw) {
  23. newX = _root._xmouse;
  24. newY = _root._ymouse;
  25. if ((newX != startX) or (newY != startY)) {//or (oldX!=startX) or (oldY!=startY))
  26. var p1=[oldX,oldY];
  27. var p2=[startX,startY];
  28. var p3=[newX,newY];
  29. _root.curveSmooth(this,p1,p2,p3);
  30. // reset location for new time
  31. oldX=startX;
  32. oldy=startY;
  33. startX = newX;
  34. startY = newY;
  35. }
  36. }
  37. }
Angehängte Dateien
Dateityp: zip smooth.zip (1,0 KB, 15x aufgerufen)
__________________
nullidee

Abakus GT 10² Kugeln - 80"Leinwand - CARAN D´ACHE SUPRACOLOR®
nullidee ist offline   Mit Zitat antworten
Alt 01-02-2005, 14:20   #5 (permalink)
◘ ◘
 
Benutzerbild von beachmeat
 
Registriert seit: Dec 2001
Ort: Amsterdam
Beiträge: 6.126
YOUR THE MAN!
Thanks a lot, superduper, passt.
Das kann ich bestimmt umschreiben für MX, ich stells dann hier rein!

Danke!
__________________
jeden Tag frisch

Geändert von beachmeat (01-02-2005 um 14:22 Uhr)
beachmeat 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 15:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele