Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-07-2005, 19:42   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 16
for-Schleife übernimmt die Variable nicht

Hi.
Vielleicht kann mir jemand helfen:
Ich habe 5 MCs, die ich beim Überfahren mit der Maus auf invisible schalten möchte, damit die darunterliegende Grafik sichtbar wird.
Da es später deutlich mehr als 5 Movieclips werden, möchte ich das ganze Skript so auslegen, dass ich mit Variablen arbeiten kann.

Mein Versuch sieht bisher so aus:
-------------------------------------------------------------------
FRAME3:

for (i=1; i<=5; i++)
{
_root["Bild-sw-"+i].onRollOver = function()
{
_root["Bild-sw-"+i]._visible=false;
}
}

FRAME4:
gotoAndPlay(3)
------------------------------------------------------------------

Aber irgendwie scheint der i-Wert nicht mit in die _root["Bild-sw-"+i]._visible=false - Anweisung übernommen zu werden.

Bei Verwendung von
...
_root["Bild-sw-1"]._visible=false
...
beispielsweise wird beim Überfahren einer der 5MCs mit der Maus das erste Bild zuverlässig unsichtbar geschaltet. Aber sobald das i in dieser Zeile auftaucht gehts nicht mehr.

Kann mir jemand sagen was ich da falsch gemacht habe?
Rolly ist offline   Mit Zitat antworten
Alt 09-07-2005, 19:55   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hi,

einfach so:
ActionScript:
  1. for (i=1; i<=5; i++) {
  2. _root["Bild-sw-"+i].onRollOver = function() {
  3. this._visible=false;
  4. }
  5. }
Ein 'this' innerhalb einer solchen "on-Zuweisung" bezieht sich auf das Objekt, dem die Zuweisung gilt...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 09-07-2005, 20:03   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 16
Ach herrlich, eine so schnelle und einfache Antwort hatte ich nicht erwartet.
Vielen Dank, jetzt funzt´s !!
Rolly ist offline   Mit Zitat antworten
Alt 09-07-2005, 20:15   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 16
Hierbei funktioniert es leider nicht so leicht:

for (i=1; i<=5; i++){
_root["Bild-farbe-"+i].onRollOut = function() {
_root["Bild-sw-"+i]._visible=true;
}}


Bild-sw liegt über dem Bild-farbe.
wenn bild-sw nun unsichtbar ist (s.o.), muss ich ja bild-farbe als schalter verwenden.
Dieser soll dann beim RollOut das Bild-sw wieder sichtbar machen.

Gibts hierfür auch eine einfache Lösung??
Rolly ist offline   Mit Zitat antworten
Alt 09-07-2005, 21:20   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hab ich mir doch fast gedacht, dass das als nächstes kommt...
Alte Stolperfalle: Das i geht verloren innerhalb der on-Zuweisung bzw. hat immer nur den zuletzt zugewiesenen Wert.
Lösung: jedem Objekt "sein eigenes i" zuweisen:
ActionScript:
  1. for (i=1; i<=5; i++){
  2. _root["Bild-farbe-"+i].id = i; // << hier: i wird in id gespeichert
  3. _root["Bild-farbe-"+i].onRollOut = function() {
  4. _root["Bild-sw-"+this.id]._visible=true; // << und dann verwendet
  5. }
  6. }
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 09-07-2005, 23:14   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 16
Ok, da wär ich ohne Hilfe nie drauf gekommen.
Danke!
Rolly 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 04:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele