ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
510
510
EMPFEHLEN
-
13.08.04 13:16 #1
Hallo,
ich habe in meiner Bühne einige Buttons, welche jedoch von anderen Symbolen die darüber liegen teilweise verdeckt werden.
Nun möchte ich aber, dass wirklich nur der sichtbare Teil der Buttons anklickbar ist, und nicht wie momentan auch der verdeckte Bereich.
Ganz konkret also- wie kann ich diese Buttons nicht nur für Sichtbarekeit, sondern auch für die Klickfunktion maskieren?
Gruß,
JediMaster
-
Hi,
mit der Eigenschaft "movieClip.hitArea" kannst Du den aktiven Bereich eines MCs (zumindest, sofern Dein Button ein MC-Objekt ist) festlegen. Dazu benötigst Du einen zweiten, unsichtbaren MC, der den sichtbaren Bereich des Buttons maskiert. Nachteil: Du musst wissen, welche Bereiche des Buttons im Moment sichtbar sind. Bei komplexeren Überschneidungen (die sich z.B. dynamisch ändern) bietet sich diese Methode nicht ohne weiteres an.
Gruß
-
Hi,
bei einfacheren Filmen ohne viel AS bietet sich die Möglichkeit, den aktiven Bereich des Buttons direkt im Editorfenster des Buttons zu definieren.
Wenn du einen Rechtsklick auf deinen Button machst, und 'an Postition editieren' wählst, dann erscheint ja die Button 'Time'line mit ihren 4 Zuständen.
4 Zustände...? Es gibt doch nur 3 !
Ja genau, der 4. Zustandsframe ist mit Aktiv benannt, und dieser stellt auch keinen Zustand dar, sondern die Fläche, die 'aktiv' auf MouseEvents reagiert - bleibt dieses Frame leer reagiert der Button auf alles innerhalb der Fläche, die in irgendeinem der 3 Zustände mit irgendeinem Objekt gefüllt ist, wenn du hingegen mit einer einfachen Füllung im Aktiv - Frame einen Bereich definierst, so reagiert der Button nur auf Events in diesem Bereich.
Grüsse
BNum qui exsules restituti? Unum aiebat, praeterea neminem !
http://monalisaoverdrive.de
-
13.08.04 23:46 #4
Hey,
vielen Dank für die tollen Tipps!
Jetzt weiß ich endlich wozu der 4. Zustand da ist
Aber, vielleicht noch eine kurze off-topic-Frage dazu:
Kann ich eventuell (ähnlich wie in Photoshop bzw. Imageready) einen Zustand wie "selected" erzeugen? Ich vermute das ganz lässt sich nur per AS lösen, indem nach einem Mausklick einfach der Button mit einer "Selected-Grafik" überlagert bzw. durch eine ersetzt wird o.ä, richtig?
Schönes Wochenende Euch allen!
Gruß,
JM
-
Joa,
das geht nur mit AS und einer Variable, die du zB auf true setzt, wenn der Button eben gedrückt wurde - wenn du mehrere Buttons hast, bietet sich ein onEnterFrame Event an, und eine Variable die mehrere Zustände annehmen kann. so das du immer aktuell einen Button mit dem entsprechenden Aussehen 'versorgen' kannst....
Jo schönes weekend...
BNum qui exsules restituti? Unum aiebat, praeterea neminem !
http://monalisaoverdrive.de
-
Hi,
man kann Buttons auch prima aus MovieClips anfertigen, wobei sich weitere nette Möglichkeiten bieten. Das erfordert zwar etwas mehr AS, im Endeffekt kannst Du aber beliebig viele Stati (<- wie geht die Mehrzahl von Status?
Staten? ), rollOver und -Out - Animationen uvm. implementieren.
Ein Beispiel findest Du hier (ist leider relativ umständlich, da aus meiner Flash-Anfangszeit), oder im Forum mit den Suchbergiffen "MovieClip" und "Schaltflächen".
Gruß
EDIT II:
@Basileus: hmm. wenn ich die Frage richtig verstanden habe, bietet sich ein onEnterFrame-Handler nicht unbedingt an (der frisst ja auch Ressourcen). Es genügt (z.B. einer Menüleiste) eine globale Variable oder sinnvoll benannte Buttons, die sich untereinander austauschen können:oder mit lokalen Variablen (Script im Objekt):PHP-Code:on (Release) {
eval("_parent.button"+_parent.activeBut).deactivate();
this.activate();
}
PHP-Code:function activate() {
for (i=1; i<=_parent.button_amount; i++) {
if (eval("_parent.button"+i).isactive) {
eval("_parent.button"+i).deactivate();
}
}
// Hier die Aktionen zum grafischen Aktivieren des Buttons
this.isactive=true;
}
-
Na ja,
ich hab meisstens EINEN onEnterFrame Event für ALLES was in der Navigation und der Struktur passiert - und das kann ja eine Menge sein....
So richtig Ressourcen fressend sind eigentlich nur AS-Alpha Tweens und Form Tweens oder am besten noch beides zusammen...oder auch createEmptyMovieClip / AttachMovieClip (so ab 30, 40....)
Ansonsten kannst du auf ´ner 300Mhz Gurke locker 30 onEnterFrame Events laufen lassen, wenn die die Bildschirmausgabe nicht permanent aktualisieren.
Grüsse
BNum qui exsules restituti? Unum aiebat, praeterea neminem !
http://monalisaoverdrive.de
-
Ok, es hängt hauptsächlich davon ab, was in einem onEnterFrame so alles passiert. Nicht, dass ich die Dinger nicht auch häufig genug einsetzen würde (z.B. für die Animation der Schaltflächen) - aber die meisten Buttons bekommen bei mir die standart-Mausereignisse verpasst.
[OffTopic]
Letztens hatte ich ein Raster aus 2000 Quasi-Buttons, auf denen ich (ähnlich einer Bildschirmlupe) mit der Maus zeichnen wollte. Aus irgendeinem Grunde wollte onDragOver/-Out bei den (dynamisch generierten) Buttons nicht funktionieren, und rollOver bei gedrückter Maustaste kann man vergessen - ein Kollisionstest für alle 2000 mit onEnterFrame war leistungsmäßig absolut an der Kante
so habe ich mir mit einer "Paint"-Taste und rollOver geholfen...
[/OffTopic]
Gruß
Ähnliche Themen
-
GET Parameter maskieren?
Von Maik20 im Forum PHPAntworten: 2Letzter Beitrag: 09.03.09, 15:12 -
ö,ä,ü... Sonderzeichen maskieren?
Von g3radiochris im Forum PHPAntworten: 3Letzter Beitrag: 09.02.07, 12:16 -
Objekte maskieren
Von Jan-Frederik Stieler im Forum 3D Studio MaxAntworten: 4Letzter Beitrag: 10.11.06, 19:51 -
Sonderzeichen maskieren
Von Ravebaby im Forum C/C++Antworten: 24Letzter Beitrag: 17.05.05, 11:48 -
texte maskieren
Von Robmantuto im Forum PhotoshopAntworten: 2Letzter Beitrag: 31.10.04, 18:11





Zitieren
Login





