| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 6
|
wo auch immer man zum testen ein PHP-Code: man befindet sich ja in einer schleife, die nur ausgeführt wird, wenn "k" kleiner oder gleich "m" ist. wenn man button "b3" drückt, müsste "k"=3 sein, da der button aktiviert wird: _menu["b"+k].onRollOver. "k <= m" ist die bedingung. "m" ist in meinem fall 9. der trace ergibt in der schleife (egal welchen button ich drücke) 10. ich könnte genauso gut "k <= 9" sagen, dann wäre "k" getraced ebenfalls 10. PHP-Code: |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
wo kommt den dein m her? wo steht denn bei dir m = irgendwas; und die for (k = 1; k <= m; k++) { schleife wird abgearbeitet. viel viel später wird ein _root._main._menu["b"+k].onRelease ausgeführt. da ist dein k schon längst gestorben, bzw. bis zum schleifenende durchgelaufen. Code: _root._main._menu["b"+k].onRelease = function() {
for (var p=1; p<=m; p++) {
_root._main._menu["b"+p].menuTXT.buttonStatus = _root._main._menu["b"+p].menuTXT.inactive;
this.menuTXT.buttonStatus = this.menuTXT.active;
_root._main.endY = _root._main.y1;
}
};
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (22-10-2006 um 20:45 Uhr) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 6
|
"m" ist eine globale variable, die in einem anderen keyframe deklariert wird. wieso meinst du, dass "k" platt ist? die erste zeile der FOR-schleife ist bereits die onRelease-funktion. wenn ich bsp. in eben dieser funktion das "k" via trace(k) auslesen lasse, ist der inhalt dieser variablen immer um eins größer als der maximal-wert von "m": _global.m=9; ... for (k=1;k<=m;k++) { ... trace(k) ..... -> k=10 wie kann das sein? edit: ich seh gerade: hast recht! onRelease kommt in der FOR-schleife zum schluss. aber das sollte nichts zur sache tun... o.g. prinzip tritt ebenso auf, wenn ich das "k" im onRollOver oder onRollOut trace... :confused Geändert von kumbpel (22-10-2006 um 23:49 Uhr) |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
wann wird die onRelease-function ausgeführt? wenn du deinen script abarbeitest, oder wenn viel viel später jemand auf die maustaste klickt? und welchen zustand hat k zum zeitpunkt des mausklicks? "..der inhalt dieser variablen immer um eins größer als der maximal-wert von "m".." ja die k schleife wird nicht mehr ausgeführt, wenn k>m ist. und so bleibt k bis irgend wann einmal jemand auf den button klickt und so das onRelease verursacht. und da willst du das da ausführen: _root._main._menu["b"+k].menuTXT.buttonStatus = _root._main._menu["b"+k].menuTXT.active;
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (23-10-2006 um 02:11 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 6
|
ah, jetzt verstehe ich, was du meinst.... der code liegt allerdings in einer movieclip-instanz im _root und die _root-timeline umfasst nur einen einzigen keyframe. der code wird also - da onClipEvent(enterFrame) - ständig ausgeführt wird... also müsste die schleife, doch auch ständig durchlaufen werden, da "k" beim schleifenbeginn immer auf 1 zurückgesetzt wird. die funktionen, die unter onRollOver, onRollOut und onRelease ausgeführt werden funktionieren ja. sie sprechen movieclips an, die _root._main._menu.b1 bis _root._main._menu.b9 heißen. die letztgenannte zahl wird über "k" hervorgerufen... ein trace in der for-schleife ergibt 1-9. der trace in einer der drei o.g. funktion allerdings immer 10. |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
| ja, was absoluter käse ist. einmal installiert ist installiert. oder programmierst du auch a=5=5=5=5=5=5=5; nur um sicher zu gehen, das dann auch tatsächlich 5 in der variablen a drinnsteht? sorry, wenn du irgendwas verstanden hättest, dann würdest du nicht mehr fragen. die event-funktionen werden NICHT mit der for-schleife abgearbeitet, sondern DANAAAHAAAACH. aber es ist sinnlos, ich kann das selbe noch 100mal wiederholen :-( ich hatte dir auch eine lösung aufgeschrieben (in #2): ersetze bitte in onRelease das unsinnige _root._main._menu["b"+k].menuTXT.buttonStatus = _root._main._menu["b"+k].menuTXT.active; durch this.menuTXT.buttonStatus = this.menuTXT.active; und gut is ...
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (23-10-2006 um 22:28 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |