tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
510
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Jedimaster
    Jedimaster Jedimaster ist offline Mitglied Silber
    Registriert seit
    Feb 2003
    Beiträge
    74
    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
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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ß
     

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Schalke
    Beiträge
    2.498
    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
    B
     
    Num qui exsules restituti? Unum aiebat, praeterea neminem !
    http://monalisaoverdrive.de

  4. #4
    Avatar von Jedimaster
    Jedimaster Jedimaster ist offline Mitglied Silber
    Registriert seit
    Feb 2003
    Beiträge
    74
    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
     

  5. #5
    Registriert seit
    Dec 2002
    Ort
    Schalke
    Beiträge
    2.498
    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...

    B
     
    Num qui exsules restituti? Unum aiebat, praeterea neminem !
    http://monalisaoverdrive.de

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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:
    PHP-Code:
    on (Release) {
      eval(
    "_parent.button"+_parent.activeBut).deactivate();
      
    this.activate();

    oder mit lokalen Variablen (Script im Objekt):
    PHP-Code:
    function activate() {
      for (
    i=1i<=_parent.button_amounti++) {
        if (eval(
    "_parent.button"+i).isactive) {
            eval(
    "_parent.button"+i).deactivate();
        }
      }
      
    // Hier die Aktionen zum grafischen Aktivieren des Buttons
      
    this.isactive=true;

     

  7. #7
    Registriert seit
    Dec 2002
    Ort
    Schalke
    Beiträge
    2.498
    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
    B
     
    Num qui exsules restituti? Unum aiebat, praeterea neminem !
    http://monalisaoverdrive.de

  8. #8
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    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

  1. GET Parameter maskieren?
    Von Maik20 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 09.03.09, 15:12
  2. ö,ä,ü... Sonderzeichen maskieren?
    Von g3radiochris im Forum PHP
    Antworten: 3
    Letzter Beitrag: 09.02.07, 12:16
  3. Objekte maskieren
    Von Jan-Frederik Stieler im Forum 3D Studio Max
    Antworten: 4
    Letzter Beitrag: 10.11.06, 19:51
  4. Sonderzeichen maskieren
    Von Ravebaby im Forum C/C++
    Antworten: 24
    Letzter Beitrag: 17.05.05, 11:48
  5. texte maskieren
    Von Robmantuto im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 31.10.04, 18:11