Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

Drop Shadow - Eigenschaften verändern mit as3

Fragen zum Thema Flash können hier gestellt werden

Moderatoren: Basti, Ulli H.

Drop Shadow - Eigenschaften verändern mit as3

Beitragvon Patchie am 09.09.2011, 21:09

Hallo

Ich möchte ein Objekt mit einem Schlagschatten versehen und folgendne Eingenschaften:

Schateen mit MausX Bewegung Blurrig werden lassen
mit MausY den Abstand ändern,
Schriftzug Ankel mit Event Listener läßt Winkel um 25° ändern (bei jedem Klick)
Textfeld Zeigt den Ankelwert an.

Leider funktioniert das mit der Maus überhaupt nciht! Wo liegt mein Fehler? :handbuch:
Will ja nur die Mausrichtungsbewegung tracken. Mit Tasten klappt es... :xx:

Mein ersts Problem ist, wie kann ich die MausX und MausY abfangen? :(
Code: Alles auswählen
stage.addEventListener(MouseEvent.MOUSE_MOVE, schattenAbstand);

// "Global" definierte Variable dropShadow
var dropShadow:DropShadowFilter;

function schattenAbstand  (e:MouseEvent) : void {
   
   dropShadow = new DropShadowFilter();
   kugel_mc.filters = [dropShadow];
   
   if(e.Mouse.x == stage.mouseX) {
      trace('x-maus Bewegt schatten abstand');
      stage.addEventListener(Event.ENTER_FRAME, abstand);
      
   } else if( e.Mouse.y = this.mouseY ) {
             trace('y');
   }

}

function abstand(e:Event) : void{
   
   dropShadow.distance ++;
   
   kugel_mc.filters = [dropShadow];
   
}

Patchie
Mitglied
 
Beiträge: 263
Registriert: 18.06.2008, 17:22
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: Drop Shadow - Eigenschaften verändern mit as3

Beitragvon Patchie am 10.09.2011, 01:11

Ich bin der Sache einen Tick weiter gekommen :handbuch:
KOmme aber nicht damit zurecht wie ich denn nun einen Wert für BLur und Schattenabstand errechne :dw:
Ich denke da muss man die Weltkoordinaten und die Differenz zum aktuellen Mauszeiger auf der Bühne berechnen...
Hilfe ist weiterhin willkommen :xx:

Code: Alles auswählen
import flash.filters.DropShadowFilter;
import flash.events.Event;

stage.addEventListener(MouseEvent.MOUSE_MOVE, schattenAbstand);


var dropShadow:DropShadowFilter;

function schattenAbstand  (e:MouseEvent) : void {
   
   dropShadow = new DropShadowFilter();
   kugel_mc.filters = [dropShadow];
   
   if(stage.mouseX) {
      trace('x-maus Bewegt schatten abstand');
      //stage.addEventListener(Event.ENTER_FRAME, abstand);
      stage.addEventListener(Event.ENTER_FRAME, abstand);
   }
   if(stage.mouseY ) {
      trace('y');
      stage.addEventListener(Event.ENTER_FRAME, unscharf);
   }
}

function abstand(e:Event) : void {
   dropShadow.distance = (mouseX / stage.width) * 50 - 20;
   //dropShadow.distance ++;
   kugel_mc.filters = [dropShadow];
   stage.removeEventListener(Event.ENTER_FRAME, abstand);
}

function unscharf(e:Event) : void {
   dropShadow.distance = (mouseY / stage.width) * 50 - 20;
   dropShadow.blurX = 50;
   dropShadow.blurY = 50;
   kugel_mc.filters = [dropShadow];
   
}

ankel_btn.addEventListener(MouseEvent.CLICK, winkel);
function winkel(e:MouseEvent): void {
   
   trace('winkel ändert sich');
   
   dropShadow.angle = 95;
   kugel_mc.filters = [dropShadow];

   ausgabe.text = dropShadow['angle'];
}

Patchie
Mitglied
 
Beiträge: 263
Registriert: 18.06.2008, 17:22

Re: Drop Shadow - Eigenschaften verändern mit as3

Beitragvon Patchie am 10.09.2011, 02:57

Nix für ungut, ^^

Nur das mit den 25°, bei jedem click ++25 klappt noch nicht... :xx:

import flash.filters.DropShadowFilter;
import flash.events.Event;

stage.addEventListener(MouseEvent.MOUSE_MOVE, schattenAbstand);
var dropShadow:DropShadowFilter;

function schattenAbstand (e:MouseEvent) : void {

dropShadow = new DropShadowFilter();
kugel_mc.filters = [dropShadow];

if(stage.mouseX) {
trace('x-maus Bewegt schatten abstand');
//stage.addEventListener(Event.ENTER_FRAME, abstand);
stage.addEventListener(Event.ENTER_FRAME, abstand);
}
if(stage.mouseY ) {
trace('y');
stage.addEventListener(Event.ENTER_FRAME, unscharf);
}
}

function abstand(e:Event) : void {
dropShadow.distance = (mouseX / stage.width) * 50 - 20;


//dropShadow.distance ++;
kugel_mc.filters = [dropShadow];
stage.removeEventListener(Event.ENTER_FRAME, abstand);
}

function unscharf(e:Event) : void {
dropShadow.distance = (mouseY / stage.width) * 50 - 20;
/*dropShadow.blurX = 50;
dropShadow.blurY = 50;*/
dropShadow.blurX = (mouseY / stage.width) * 50 - 20;
dropShadow.blurY = (mouseY / stage.width) * 50 - 20;
kugel_mc.filters = [dropShadow];

}

ankel_btn.addEventListener(MouseEvent.CLICK, winkel);
function winkel(e:MouseEvent): void {

trace('winkel ändert sich');

dropShadow.angle = 95;
kugel_mc.filters = [dropShadow];

ausgabe.text = dropShadow['angle'];
}
Patchie
Mitglied
 
Beiträge: 263
Registriert: 18.06.2008, 17:22


Zurück zu Flash

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast