Toon posts:

[flash] Event Handeling

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik maak een serie movieclip objecten aan met een for lus en nu wil ik voor die objecten ook een event handeling hebben. Als ik deze code gebruik reageerd hij niet op de events, deze code zou toch goed moeten zijn? Heeft iemand mischien een oplossing voor mij?

var mouseHandler:Object = new Object();

mouseHandler.onPress = function(ui) {
trace(ui.target);
}

for(i = 0; i < 8; i++) {
_root.createEmptyMovieClip("test" + i + "_mc",i);
_root["test" + i + "_mc"]._x = i * 75 + 30;
_root["test" + i + "_mc"]._y = 30;
_root["test" + i + "_mc"].addEventListener("onPress", mouseHandler);
}

  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 20-01 20:49
Volgens mij werk het idd niet op de manier zoals je hierboven beschrijft.
De Mouse class heeft wel een addListener functie die je kunt gebruiken:

Mouse.addListener (eenObjectMetEvent)

Maar wat je in jou geval ook kunt doen is:
Flash ActionScript:
1
2
3
_root["test" + i + "_mc"].onPress = function () {
  trace(ui.target);
}

Verwijderd

Topicstarter
Is het niet mogelijk om met 1 functie voor al die objecten de events af te vangen?

  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 20-01 20:49
Verwijderd schreef op 30 mei 2004 @ 20:49:
Is het niet mogelijk om met 1 functie voor al die objecten de events af te vangen?
Natuurlijk kan dat ;)
Flash ActionScript:
1
2
3
4
5
6
function doSomething() {
  trace(ui.target);
}
...
...
_root["test" + i + "_mc"].onPress = doSomething;

Verwijderd

Topicstarter
Ohhh ja wat stom, dank u
hij reageert nu wel maar hij voert mijn event afhandel functie nu gelijk uit bij uitvoeren van het script. Dus voordat ik ergens op klik en als ik op een object klik voert hij de functie niet meer uit.


function mouseHandler(naam) {
trace(naam);
}

for(i = 0; i < 7; i++) {
_root.createEmptyMovieClip("test" + i + "_mc",i);
_root["test" + i + "_mc"]._x = i * 80 + 30;
_root["test" + i + "_mc"]._y = 30;
_root["test" + i + "_mc"].lineStyle(3,0xFF0000,100);
_root["test" + i + "_mc"].beginFill(0xFF0000, 100);
_root["test" + i + "_mc"].moveTo(0, 0);
_root["test" + i + "_mc"].lineTo(0, 75);
_root["test" + i + "_mc"].lineTo(75, 75);
_root["test" + i + "_mc"].lineTo(75, 0);
_root["test" + i + "_mc"].lineTo(0, 0);
_root["test" + i + "_mc"].endFill();
_root["test" + i + "_mc"].onPress = mouseHandler("test" + i + "_mc");
}