Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-08-2006, 13:03   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 90
linie in fläche umwandeln

hi,

ich hab folgendes problem:

ich moechte eine per AS gezeichnete linie als maske verwenden. allerdings koennen linien ja nicht als masken verwendet werden, deshalb wollte ich fragen obs eine AS funktion gibt mit der man linien in flächen umwandeln kann. im menue unter modifizieren --> form --> linien in fuellungen umwandeln....und das per AS?

gruesse
nizon ist offline   Mit Zitat antworten
Alt 08-08-2006, 13:17   #2 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Abgesehen davon, das mir keine derartige Funktionalität bekannt ist, bin ich mir über die Sinnhaftigkeit nicht ganz im klaren.
Warum erst eine Linie malen, um diese dann in eine Fläche umzuwandeln, wenn man doch gleich eine Fläche malen könnte ?
McUsher ist offline   Mit Zitat antworten
Alt 08-08-2006, 13:23   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 90
ganz einfach aus dem grund weil die linie verschiedene windungen rundungen etc hat (wird per as nach einem pfad gezeichnet) und ich keinen blassen schimmer wie ich sowas als flaeche zeiche im AS.....
nizon ist offline   Mit Zitat antworten
Alt 08-08-2006, 14:15   #4 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Ah ok.. schwieriger Task, .. ich denk noch drüber nach,
momentan fällt mir nix ein, ausser die Pixel der Kurve einzeln zu setzen..

Ist die Kurve geschlossen?
McUsher ist offline   Mit Zitat antworten
Alt 08-08-2006, 16:50   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 90
noope, die kurve ist nicht geschlossen...

ich habs jetzt so gemacht dass ich entlang der linie einfach kreise als eigene MCs in einen maskenMC lad, ist zwar von der performance nicht optimal funktioniert aber...
nizon ist offline   Mit Zitat antworten
Alt 10-08-2006, 11:16   #6 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Also, ich habe mir etwas überlegt, dass aber nur funktioniert, wenn du die Kurve mit ".lineTo" erzeugen kannst. ".curveTo" kriegt ich leider nicht so einfach übersetzt.
Diese Funktion erzeugt statt einer Linie eine Fläche:
PHP-Code:
function areaLine(x1y1x2y2) {
    var 
mctoDraw:MovieClip deineMaskenInstanz;
    
mctoDraw.beginFill(0x000000100);
    
// make it "thickness" Pixels thick:
    
dx x2-x1;
    
dy y2-y1;
    
    
thickness 1// in pixel
    
angle Math.atan(dy/dx);

    
difXT 0.5*(Math.sin(angle)*thickness);
    
difYT = -0.5*(Math.cos(angle)*thickness);

    
mctoDraw.moveTo(x1-difXTy1-difYT);
    
mctoDraw.lineTo(x1+difXTy1+difYT);
    
    
mctoDraw.lineTo(x2+difXTy2+difYT);
    
mctoDraw.lineTo(x2-difXTy2-difYT);

    
mctoDraw.lineTo(x1-difXTy1-difYT);

(von x1,y1 nach x2,y2 )

Ob das performanter als deine Lösung ist, wage ich aber je nach Kurve zu bezweifeln...

Geändert von McUsher (10-08-2006 um 11:17 Uhr)
McUsher ist offline   Mit Zitat antworten
Alt 10-08-2006, 11:51   #7 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Ahhhh,
du benutzt doch Flash8, da kannst du doch sogar eine Linie als Maske benutzen!

Sowohl bei der Maske als auch beim zu maskierende MC muss nur .cacheAsBitmap auf true gesetzt werden ...

Es kann so einfach sein...
(vorrausgesetzt du kannst auch als Flash8 exportieren)
McUsher 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 19:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele