Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-09-2005, 17:06   #1 (permalink)
Danilo Sandner
 
Registriert seit: Jun 2001
Ort: frankfurt am main
Beiträge: 286
vorhandensein und position von filtern im filters array herausbekommen ?

wenn ich nur einen filter auf ein mc anwende, kann ich mein filters array immer neu überschreiben:
ActionScript:
  1. mein_mc.filters = [new BlurFilter ( 10, 10, 2 )];
wenn ich jetzt aber mehrere filter habe, muss ich entweder die position der einzelnen filter im array kennen oder eben "pushen":
ActionScript:
  1. my_filters = mein_mc.filters;
  2. my_filters[1] = new DropShadowFilter(50); // my_filters[0] ist ja schon mit dem blurfilter belegt
  3. // oder
  4. my_filters.push (new DropShadowFilter(50));
  5. mein_mc.filters = my_filters;
die variante mit dem pushen scheint mir aber nicht sooo genial zu sein,
weil wenn ich das in einer schleife mache (um gescripted zu tweenen z.b.) läuft mir das array
ruckzuck mit zig tausend einträgen voll, oder ?!

die frage die sich mir jetzt stellt ist,
wie bekomme ich aus dem filter array die information, an welcher stelle welcher filter sitzt ?

klar, wenn ich mal eben schnell zwei filter auf ein mc lege und gut,
weiss ich dass vielleicht noch.

wenn ich jetzt aber an irgendeiner stelle irgendeinen filter auf irgendeinen mc legen, bzw. dessen werte ändern will,
dann wäre es doch sinnvoll zu wissen, ob und an welcher stelle jetzt z.b. ein blur schon drinliegt.
__________________
www.DaniloSandner.de

www.FlashTreffen.de (Flashtreffen in Frankfurt)
danilo ist offline   Mit Zitat antworten
Alt 29-09-2005, 10:46   #2 (permalink)
Neuer User
 
Benutzerbild von Quasimondo
 
Registriert seit: Nov 2003
Ort: München
Beiträge: 114
Ich habe das jetzt nicht ausprobiert, aber es müßte wohl möglich sein, per Schleife durch das Array zu kucken und dann mittels instanceOf festzustellen um was für einen Filter es sich handelt. Oder über das Vorhandensein bestimmter Properties, die für bestimmte Filter typsich sind.

ActionScript:
  1. for (var i:Number = mc.filters.length; --i > -1;){
  2.     if (mc.filters[i] instanceOf BlurFilter) trace("Es ist ein Blur Filter!");
  3.     if (mc.filters[i] instanceOf DisplacementMapFilter) trace("Es ist ein Displacement Filter!");
  4.    // undsoweiter
  5. }

Vielleicht geht das aber auch noch eleganter.
__________________
[Quasimondo | incubator | talks
Quasimondo ist offline   Mit Zitat antworten
Alt 29-09-2005, 12:02   #3 (permalink)
Danilo Sandner
 
Registriert seit: Jun 2001
Ort: frankfurt am main
Beiträge: 286
jawoll ja ! danke !
das funktioniert. "instanceof"... da bin ich nicht drauf gekommen
__________________
www.DaniloSandner.de

www.FlashTreffen.de (Flashtreffen in Frankfurt)
danilo 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 18:11 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele