Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-12-2007, 11:16   #1 (permalink)
Rock'n'Bass
 
Benutzerbild von <sVkVmVit>
 
Registriert seit: Feb 2006
Ort: Hamburg
Beiträge: 202
Question MC erscheint nur an einer Stelle..??

Moin!

Habe in meinem Film mehrere Movieclips liegen ("tnbutton0,1,2,.."), für die über eine for-Schleife abgefragt wird, ob sich der Cursor über einem von ihnen befindet. Ist das der Fall, soll der jeweilige MC auf alpha=20 gesetzt werden (zu anfang des films sind alle auf alpha=0). Befindet er sich nicht mehr auf besagtem MC (else..) soll ssein alpha wieder auf 0 gesetzt werden.
Das klappt auch wunderbar, also sprich: alle MCs, über die man mi dem cursor fährt werden auf alpha=20 und beim heruntergehen wieder auf alpha=0 gesetzt.

Jetzt will ich, dass ebenfalls beim darübergehen ein Infotext angezeigt wird, der am cursor hängt. Dabei handelt es sich um ein dynamisches textfeld mit dem Variablennamen "bildinfo_txt", das sich wiederum in einem MC befindet ("overtext"), welcher wie die anderen MCs (siehe oben) auf _root liegt.
Logischerweise packe ich die Codezeilen dafür ebenfalls an dieselbe stelle, wie die anderen MCs (die mit der alpha-veränderung).
Doch seltsamerweise erscheint der MC mit dem textfeld nur beim fünften "tnbutton"-MC (siehe oben) ... nur dort funktioniert das auftauchen und wieder verschwinden. WIESO?? der code dafür liegt doch in derselben if-else abfrage...

Hier der Code (auf frame 1 der hauptzeitleiste):

Code:
_root.onMouseMove = function(){
	
	_root.overtext._x = _root._xmouse;
	_root.overtext._y = _root._ymouse;
	// Der Overzustand wird bei Berührung verändert
	j = 0;
	k = 0;
	for (i = 0; i <= (thumbsarr.length-1); i++){
		if (_root["tnbutton"+i].hitTest(_root._xmouse, _root._ymouse)){
			_root["tnbutton"+i]._alpha = 20;
			_root.overtext.bildinfo_txt = overtextarr[i];
			trace("bildinfotxt="+overtextarr[i]);
			_root.overtext._visible = true;
			} else {
				_root["tnbutton"+i]._alpha = 0;
				_root.overtext.bildinfo_txt = "";
				_root.overtext._visible = false;
				}
		j++;
		if (j > 1){
			j = 0;
			k++;
			}
		}
	
	}
__________________
==>remix.nin.com<==
//
Life Is Too Short For Boring Music!
Fantasie ist die einzige Waffe gegen die Wirklichkeit.
<sVkVmVit> ist offline   Mit Zitat antworten
Alt 21-12-2007, 13:16   #2 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Du durchläufst deine for-Schleife und (sagen wir mal es sind 5 Buttons) der hitTest ist wenn du einen MC triffst 1 mal true und 4 mal false.

Das heisst aber nix anderes das der MC der da erscheinen soll 1 mal eingeblendet und 4 mal ausgeblendet wird (ist ja für jeden Button der selbe MC).

Beim letzten klappt das weil der MC hinterher nicht nochmal ausgeblendet wird ... also:

Button 1 hit: einblenden, ausblenden, ausblenden, ausblenden, ausblenden
Button 2 hit: ausblenden, einblenden, ausblenden, ausblenden, ausblenden
Button 3 hit: ausblenden, ausblenden, einblenden, ausblenden, ausblenden
Button 4 hit: ausblenden, ausblenden, ausblenden, einblenden, ausblenden
Button 5 hit: ausblenden, ausblenden, ausblenden, ausblenden, einblenden
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 21-12-2007, 13:34   #3 (permalink)
Rock'n'Bass
 
Benutzerbild von <sVkVmVit>
 
Registriert seit: Feb 2006
Ort: Hamburg
Beiträge: 202
Zitat:
Du durchläufst deine for-Schleife und (sagen wir mal es sind 5 Buttons) ...
Es sind tatsächlich 5 Buttons.

Zitat:
Das heisst aber nix anderes das der MC der da erscheinen soll 1 mal eingeblendet und 4 mal ausgeblendet wird (ist ja für jeden Button der selbe MC).

Beim letzten klappt das weil der MC hinterher nicht nochmal ausgeblendet wird
Wenn das so wäre wie du sagst, dann müssten doch aber die Zeilen, in denen Alpha verändert wird, auch nciht funzen oder?? Dann müsste doch theoretisch auch nur der letzte MC auf alpha=20 gesetzt werden. Und das klappt ja bei allen..

Wär cool, wenn du mir auch noch das erklären könntest oder bestenfalls zegst, wo man den Code ändern muss, damit es läuft.
__________________
==>remix.nin.com<==
//
Life Is Too Short For Boring Music!
Fantasie ist die einzige Waffe gegen die Wirklichkeit.
<sVkVmVit> ist offline   Mit Zitat antworten
Alt 21-12-2007, 13:40   #4 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
Zitat:
Zitat von <sVkVmVit> Beitrag anzeigen
Wenn das so wäre wie du sagst, dann müssten doch aber die Zeilen, in denen Alpha verändert wird, auch nciht funzen oder?? Dann müsste doch theoretisch auch nur der letzte MC auf alpha=20 gesetzt werden. Und das klappt ja bei allen..
Im Gegensatz zu diesem Textdingens sprichst du mit der _alpha-Veränderung aber immer unterschiedliche MCs an.
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 21-12-2007, 13:41   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hau mal ein break() mit rein. Also hinter das "_root.overtext._visible = true;".
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 21-12-2007, 16:18   #6 (permalink)
Rock'n'Bass
 
Benutzerbild von <sVkVmVit>
 
Registriert seit: Feb 2006
Ort: Hamburg
Beiträge: 202
Zitat:
Hau mal ein break() mit rein. Also hinter das "_root.overtext._visible = true;".
@ Der Frager:
Hey danke! Damit klappt's. Jetzt erscheinen bei allen MCs die gewünschten Infotexte und verschwinden ordnungsgemäß beim verlassen eines mcs.

Würd nur gern aus Interesse nochmal wissen, ob es auch eine andere Lösung gibt (muss es ja), z.B. indem man einfach bestimmte Zeilen miteinander tauscht oder verschiebt oder ähnliches. Weil anscheinend ist ja bei mir ja quasi nur der Ablauf falsch gewesen. Wie müsste dann korrekterweise diese for-schleife mit if-abfrage aussehen, wenn man kein break() verwenden würde?
__________________
==>remix.nin.com<==
//
Life Is Too Short For Boring Music!
Fantasie ist die einzige Waffe gegen die Wirklichkeit.

Geändert von <sVkVmVit> (21-12-2007 um 16:22 Uhr)
<sVkVmVit> ist offline   Mit Zitat antworten
Alt 21-12-2007, 16:26   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Eigentlich nimmt man für so was halt onRollOver(), onRollOut() und Konsorten. Ist halt auch nicht gerade toll, "onMouseMove" immer wieder die Schleife zu durchlaufen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager 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 20:21 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele