[GastForen Archiv Adobe Flash & ActionScript Listener-Objekte

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

Listener-Objekte

Canio
Beiträge gesamt: 174

19. Apr 2006, 12:19
Beitrag # 1 von 5
Bewertung:
(1640 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, ich weiß, dass man in Flash key- und mouse-listener erzeugen kann.
Kann man die Methode addListener eigentlich auch Movieclips zuweisen?
Ich möchte nämlich ein Script schreiben, der mir immer ausgibt, auf welchem Movieclip mein Mauszeiger gerade steht und wie dieser heißt (also direkt ansprechen). Ich könnte ja jedem mc ein onEnterFrame anhängen und checken, ob die Maus gerade drübersteht, aber das ist doch zu viel Code.
Wie kann ich das erreichen?
X

Listener-Objekte

ganesh
Beiträge gesamt: 1981

19. Apr 2006, 17:23
Beitrag # 2 von 5
Beitrag ID: #224488
Bewertung:
(1635 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Code
Mouse.addListener(red_mc); 
Mouse.addListener(green_mc);
Mouse.addListener(blue_mc);

red_mc.onRollOver = function() {
trace("red");
}
green_mc.onRollOver = function() {
trace("green");
}
blue_mc.onRollOver = function() {
trace("blue");
}



als Antwort auf: [#224409]

Listener-Objekte

ganesh
Beiträge gesamt: 1981

20. Apr 2006, 01:28
Beitrag # 3 von 5
Beitrag ID: #224569
Bewertung:
(1626 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
das ganze etwas kompakter (praktisch, wenn Du sehr viele MCs hast):

Code
mcs = ["red_mc", "blue_mc", "green_mc"]; 
_global.tellme = function() {
trace("I moused over: " + this._name);
}
for(i=0; i<mcs.length; i++) {
tempMC = mcs[i];
Mouse.addListener(mcs[i]);
_root[tempMC].onRollOver = tellme;
}



als Antwort auf: [#224409]

Listener-Objekte

Canio
Beiträge gesamt: 174

20. Apr 2006, 16:53
Beitrag # 4 von 5
Beitrag ID: #224727
Bewertung:
(1608 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke ganesh, deine zweite Version hab ich ausprobiert und sie klappt.
Aber nur, wenn du in der for-Schleife hinter jedes mcs noch ein [i] hängst. Sonst wird ja nicht durchgezählt.
Hab den Code dann für mich angepasst, man kann es auch so schreiben (damit du siehst, dass ich auch mitdenke ;) ):

var mcArray:Array = ["liebe_btn", "sicherheit_btn", "vertrauen_btn"];
function tellme()
{
trace ("I moused over: " + this);
};
for (i = 0; i < mcArray.length; i++)
{
tempMC = mcArray[i];
Mouse.addListener (mcArray[i]);
_root[tempMC].onRollOver = tellme;
}

Als Ausgabe erhalte ich dann genau die Instanz, die ich haben wollte.

Vielen dank nochmal!


als Antwort auf: [#224569]

Listener-Objekte

ganesh
Beiträge gesamt: 1981

20. Apr 2006, 18:12
Beitrag # 5 von 5
Beitrag ID: #224744
Bewertung:
(1604 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist merkwürdig. Ich bin 100%ig sicher, dass der Code OK war (in Flash getestet und sofort hier hineinkopiert). Vermutlich ein Bug mit dem code-tag hier bei HDS...

Vielleicht weil
(eckige Klammer auf) i (/eckige Klammer zu) ja auch kursiv-Tags sind...

anyway, cool dass Du's gemerkt hast und es klappt.


als Antwort auf: [#224727]
X