| |||||||
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) |
| Neuer User Registriert seit: Jan 2009
Beiträge: 23
|
Hi, ich sitze seit zwei Tagen an einem Script um einen Kreis mit Glaseffekten zu versehen. Irgendwie komme ich da einfach nicht weiter. Mit AS2 hat alles prächtig funktioniert. Meine Herangehensweise ist so aufgebaut, dass ich ein Hintergrundbild habe, welches zu einem Bitmap umgewandelt wird. Daraus ziehe kopiere ich Pixel in Forum eines Kreis_mc und möchte verschiedene Filter darauf anwenden. So sieht der spannende Teil aus, bei dem ich denke, dass dort die Effekte nicht gezeichnet werden: Code: // Nötige Variablen
var zero:Point = new Point(0,0);
var padding:Number = 10;
var m:Matrix = new Matrix (1, 0, 0, 1, padding / 2, padding / 2);
// Effektvariablen
var displaceFilter:DisplacementMapFilter;
var blurFilter:BlurFilter = new BlurFilter (9, 9, 2);
var bevel:BevelFilter = new BevelFilter (2, 30, 0xffffff, 1, 0x000000, 1, 25, 25, 3, 1, "inner");
var displaceMap:BitmapData = new BitmapData (kreis_mc.width + padding, kreis_mc.height + padding, false, 0x808080);
var tempMap:BitmapData = new BitmapData (kreis_mc.width + padding, kreis_mc.height + padding, true, 0x00808080);
var mergeMap:BitmapData = new BitmapData (tempMap.width, tempMap.height, true, 0x00808080);
// Effekte anwenden und erstellen
displaceFilter = new DisplacementMapFilter (displaceMap, zero, 1, 2, 25, 25, "wrap");
tempMap.fillRect (tempMap.rect,0x00808080);
tempMap.draw (kreis_mc,m,new ColorTransform (1, 0, 0, 1, 0, 0, 0, 0),"normal",null,true);
bevel.angle = 90;
kreis_mc.filters = [bevel]; // Bevel funktioniert an dieser Stelle wunderbar
tempMap.draw (kreis_mc,m,new ColorTransform (0, 1, 0, 1, 0, 0, 0, 0),"add",null,true);
tempMap.applyFilter (tempMap,tempMap.rect,zero,blurFilter);
displaceMap.draw (tempMap);
// Die ENTER_FRAME Function sieht dazu so aus:
function myFunction(event:Event) {
mergeMap.copyPixels (backgroundBaseMap,rect,zero);
mergeMap.applyFilter (mergeMap,rect,zero,new BlurFilter (9, 9, 2));
mergeMap.applyFilter (mergeMap,rect,zero,displaceFilter);
mergeMap.copyChannel (tempMap,tempMap.rect,zero,8,8);
} |
| | |
| | #2 (permalink) |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
|
Hallo! Hab dein Script nur grob überflogen und weiß nicht, warum du genau diese copyPixel geschichten machst, aber ich vermute, du machst es dir schwerer als es ist. Die Eigenschaft filters nimmt ein Array, du kannst also mehrere Filter zuweisen: Code: movieclip.filters= [filter1,filter2,filter3];
__________________ Erwähne NIEWIEDER das Wort "Klickdummy"! |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jan 2009
Beiträge: 23
|
heißt das, ich brauche dann keine Filter mehr vorher anlegen? also: Code: background_ausschnitt.filters= [blur, displace, bevel]; Copypixel hab ich gemacht, weil ich angenommen habe, dass ich dann eine Kreisform aus dem Hintergrund kopiere und diese mit Filtern versehe. Und der Kreis sollte auf den Hintergrund achten, also eben so, als wäre auf dem Hintergrund eine runde milchige Glasscheibe, die man verschieben kann. |
| | |
| | #4 (permalink) |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
|
Jein. ![]() Also um es klar zu machen: Doch, du musst ganz normal Filter erstellen. Wenn du einen BlurFilter haben willst, musst du eine Objekt vom Typ BlurFilter erstellen - so wie du das schon richtig machst. Umd diesen dann jedoch auch anzuwenden ist es nur noch notwendig, der Filter-Eigenschaft eines beliebigen Anzeigeobjektes die richtige Instanz (die vorher erstellte BlurFilter-Variable) des Filters zuzuweisen, und das funktioniert genau wie auf die von dir (und zuvor von mir) aufgezeigte Variante. Liebe Grüße!
__________________ Erwähne NIEWIEDER das Wort "Klickdummy"! |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| aero, as3, effekt, glass |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| mc erstellen via as | mitstreiter | Flash Einsteiger | 1 | 02-08-2008 09:50 |
| container für mehrere swfs erstellen erstellen | agm65 | Flash Einsteiger | 7 | 04-07-2007 12:43 |
| pdf´s erstellen 1&1 | bubzilla | PHP und MySQL | 2 | 05-11-2006 21:28 |
| RGB erstellen? | Alphanimal | ActionScript 1 | 11 | 19-05-2005 17:22 |
| exe erstellen | allbird | Flash MX 2004 | 1 | 11-03-2004 22:40 |