Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-02-2008, 13:30   #1 (permalink)
Rock'n'Bass
 
Benutzerbild von <sVkVmVit>
 
Registriert seit: Feb 2006
Ort: Hamburg
Beiträge: 202
Dynamisches Menü-AS mit alpha-werten

Moin.

Wie immer bei mir ein roblem bei der bewältigung einer aufgabe für meine Agentur. ^^

Es geht um folgendes: Ich habe mehrere Movieclips untereinander (>=8 Stück). Nun will ich, dass je nachdem auf welchem dieser MCs sich der Cursor befindet, die vier MCs unter und die vier MCs über diesem, einen immer schwächeren alpha-Wert (siehe folgendes Bsp) zugewiesen bekommen. Hier zur Verdeutlichung:

MC 0%
MC 0%
MC 20%
MC 40%
MC 60%
MC 80%
MC 100% (auf diesem mc befindet sich der cursor in diesem bsp)
MC 80%
MC 60%
MC 40%
MC 20%
MC 0%

Alles soll mögichst einfach aufgebaut sein, aber dynamisch sein, d.h., egal auf welchem MC sich der Cursor befindet, berechnet das actionscript die immer schwächer erscheinenden alpha-Werte der (insgesamt 8) umliegenden MCs.

Alles was man braucht, sind einige MCs (ich habe momentan 8), die von "menuepunkt0" bis "menuepunktX" durchnummeriert sind und auf der Bühne (_root) untereinander angeordnet sind. Wenn ihr dann mal den folgenden Code ausprobieren könntet, dann könnt ihr sehn, dass das noch nicht wirklich so läuft wie es soll. Ich werde in der zwischenzeit schonmal versuchen, weiterzukommen.. Aber wär super, wenn ihr euch das mal anschauen könntet!

hier der Code auf Bild1 der Hauptzeitleiste:
Code:
stop();

for (i=0; i<8; i++){
	_root["menuepunkt"+i]._alpha = 50;
	}

_root.onEnterFrame = function(){
	_root.kreis._x += (_root.kreis._xmouse / 10);
	_root.kreis._y += (_root.kreis._ymouse / 10);
	
	for (i=0; i<8; i++){
		if (_root["menuepunkt"+i].hitTest(_root._xmouse, _root._ymouse)){
			//trace("hit");
			for (j=0; j<9; j++){
				trace("ok");
				if (_root["menuepunkt"+(i-4+j)]){
					_root["menuepunkt"+(i-4+j)]._alpha = 100 - (((i-4+j) - i) * 20);
					} else {
						trace("menuepunkt"+(i-4+j)+" existiert nicht!");
						}
				}
			}
		}
	
	}
__________________
==>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 14-02-2008, 14:47   #2 (permalink)
Rock'n'Bass
 
Benutzerbild von <sVkVmVit>
 
Registriert seit: Feb 2006
Ort: Hamburg
Beiträge: 202
Hab den Code jetzt folgendermaßen verändert. Mit den alpha-werten um den MC herum, auf dem der cursor sich jeweils befindet, scheints jetzt zu klappen. Jetzt muss ich nur noch wissen, wie ich alle nicht betroffenen MCs anspreche und auf alpha=0 setze..

Hier erstmal der aktuelle code (auf bild1 der hauptzeitleiste):
Code:
stop();

_root.onEnterFrame = function(){
	_root.kreis._x += (_root.kreis._xmouse / 10);
	_root.kreis._y += (_root.kreis._ymouse / 10);
	
	for (i=0; i<8; i++){
		if (_root["menuepunkt"+i].hitTest(_root._xmouse, _root._ymouse)){
			//trace("hit");
			for (j=0; j<5; j++){
				trace("ok");
				if (_root["menuepunkt"+(i-4+j)]){
					_root["menuepunkt"+(i-4+j)]._alpha = (j+1) * 20;
					}
				}
			for (j=0; j<4; j++){
				trace("ok");
				if (_root["menuepunkt"+(i+1+j)]){
					_root["menuepunkt"+(i+1+j)]._alpha = 100 - ((j+1) * 20);
					}
				}
			/* hier müssen alle restlichen mcs angesprochen und auf alpha=0 gesetzt werden*/
			}
		}
	
	}
__________________
==>remix.nin.com<==
//
Life Is Too Short For Boring Music!
Fantasie ist die einzige Waffe gegen die Wirklichkeit.
<sVkVmVit> 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 05:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele