Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-10-2004, 04:17   #1 (permalink)
Neuer User
 
Benutzerbild von julius_suiluj
 
Registriert seit: Apr 2004
Ort: BeRLin
Beiträge: 230
button in mc mit on-action

also ich hab da einen button, der einen onmouseover effekt hat.
um ihn noch weitere efekte zu verleihen musste ich ihn in einen mc packen, da ich ja in einem button keine on(enterframe) sachen machen kann.

nun hab ich das problem, das ich dem button ja noch ne aktion geben muss.
wenn ich das mit this.onPress = function(){...} im mc mache funtioniert leider das onmouseover von dem button nicht mehr. wenn ich die aktion in den button reinschreibe, kann ich ihn nichtmer für verschiedenen aktionen verwenden.

gibt es für dieses problem eine lösung oder muss ich den button durch einen mc ersetzen?

wenn jemand ne lösung het, würde mir das viele mühen ersparen.
__________________
www.spektronaut.de

while ($bush == $president){
$krieg++;
}
julius_suiluj ist offline   Mit Zitat antworten
Alt 20-10-2004, 11:27   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Mir ist noch nicht ganz klar, warum du statt des Buttons den MC-Container gewählt hast. Was hat der Button mit einem onEnterFrame zu tun? Der onEnterFrame wird immer an die Hauptzeitleiste oder einen MC angehängt, aber der Button hat damit doch nichts zu tun?? Einen Buttonevent kannst du auch ohne onEnterFrame abfragen und für andere Events taugt ein Button eh nichts...

Schau dir aber trotzdem mal den Befehl trackAsMenu an, mit dem kannst du evtl. dein Problem beheben.
  Mit Zitat antworten
Alt 20-10-2004, 11:39   #3 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
@ HW : sein pochen auf enterFrame läßt ja wohl darauf schließen (vielleicht auch mit bischen fantasie), daß es ihm darum geht, einen button mit einer rollOver-Animation zu versehen - z.b. ein einfaden oder ausfaden. deshalb ja auch die idee von dem movieclip.

@julius

ich mache es (fast) immer so:

1. einen movieclip erstellen der alle zustände des buttons repräsentiert. natürlich sind auch tweenings zwischen den zuständen möglich.

2. erstelle einen button. allerdings malst du NUR ein viereck im schlüsselbild AKTIV. up, darüber und gedrück MÜSSEN leer bleiben. der clou daran - der button ist unsichtbar, hat aber eine aktive fläche mit der er auf ereignisse reagieren kann.

3. packe den mc in eine ebene auf der zeitleiste.

4. pack den button eine ebene darüber. er müßte wenn du punkt 2 richtig gemacht hast in einem transparenten türkis erscheinen, der die aktive fläche repräsentiert. ziehe in so groß wie du ihn haben möchtest, d.h. so das er den mc abdeckt

5. gib dem button aktionen. bei auslösen einer aktion mußt du einfach an die entsprechende stelle im mc springen und ihn abspielen lassen.


.. und fertig sind deine animierten buttons


gruß
madFlanderz
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 20-10-2004, 14:24   #4 (permalink)
Neuer User
 
Benutzerbild von julius_suiluj
 
Registriert seit: Apr 2004
Ort: BeRLin
Beiträge: 230
so erstmal vielen dank für eure hilfe.
@ maddin79
so hab ich das auch immer gemacht, ist aber sehr umständlich.
ich versuch nochmal kurz das problem zu schildern.

ich haben einen funktionierenden button. dieser wird schwarz wenn man darüber geht, und wieder weiß wenn man runtergeht (mit tween)

so nun will ich diesen button mit einem ganzen haufen von seiner sorte noch verformen, was ich mit AS machen will also geht es nur in einem MC.
deshalb hab ich den button in einen MC reingepakt.
so, das funktioniert auch. das problem, ist nur dass wenn ich jetzt dem MC eine on-aktion gebe funzt der onover von dem button nichtmehr, und wenn ich die on-akiton in den button reinschreibe, kann ich den mc nichtmehr kopieren, sondern muss für jeden button nen eigenen mc basteln, was bei 50 stück viel viel arbeit ist, da jeder button ne eigenen on-aktion haben soll.
__________________
www.spektronaut.de

while ($bush == $president){
$krieg++;
}
julius_suiluj ist offline   Mit Zitat antworten
Alt 21-10-2004, 01:28   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ohne weiteres Script kann einem verschachtelten Objekt nur eine Eventauswertung zugewiesen werden, entweder dem Containerobjekt oder dem eingebetteten Objekt. Man kann das jetzt beliebig kompliziert mit _visible-Eigenschaften lösen oder den trackAsMenu-Befehl testen, der ist nämlich für solche Fälle gedacht.

Mal davon abgesehen, sollte man nie nie nie MCs und Buttons ineinanderverschachteln, da treten die "tollsten" Fehler auf. Ich hab da mal einen ganzen Tag Debugger-Arbeit dran verschwendet, bis ich die Buttons rausgeschmissen und nur noch MCs verwendet habe...
  Mit Zitat antworten
Alt 21-10-2004, 09:41   #6 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
Zitat:
Zitat von agedoubleju
Mal davon abgesehen, sollte man nie nie nie MCs und Buttons ineinanderverschachteln, da treten die "tollsten" Fehler auf.
nicht das es hier zu verständnisproblemen kommt: ich denke du(HW) meinst man sollte niemals mcs IN die schlüsselbilder eines buttons packen. habe ich auch noch nie gemacht und sowas kann man auch locker anders lösen.

der andere fall - buttons IN einem mc ist natürlich derganz normale fall und auch nicht weiter problematisch. natürlich können ereignisse immer nur an ein objekt gesendet werden. die maus kann nicht gleichzeitig über 2 objekten sein. wenn man einem mc der mehrere buttons enthält ein on-ereignis zuweißt bekommt natürlich NUR er die ereignisse zugesandt. wenn man nun aber trotzdem will, daß die buttons auf ereignisse reagieren können, muß man es anders lösen.

ich glaube ich habe es mal folgendermaßen gemnacht:

PHP-Code:
mc.onRollOver myRollOver

function myRollOver(){
     
// löschen des RollOver-ereignisses, somit haben die buttons im mc die möglichkeit auf mausereignisse zu reagieren.
     
delete this.onRollOver;

     
// manuell überprüfen, ob die maus sich noch über dem mc befindet,
     // wenn nicht, dann onEnterFrame löschen und wieder den rollOver für den mc setzen.
     
this.onEnterFrame = function () {
          if (
mousePosition nicht mehr über dem mc ) {
               
delete this.onEnterFrame;
               
this.onRollOver this._parent.myRollOver
          
}
               
     }

wie gefällt dir das?


gruß madFlanderz
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz 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 00:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele