Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-06-2007, 03:10   #1 (permalink)
Superuser
 
Benutzerbild von Nophytex
 
Registriert seit: Jun 2004
Ort: Hürth
Beiträge: 61
Menü Bewegung stoppen beim Verlassen des Flash Feldes mit der Maus

Hallo,

bin wahrlich nicht fit in Flash AS. Daher hoffe ich ihr könnt mir helfen.
Hab n altes opensource Menü genommen. Ist ein Art Band mit Kästchen in dem die einzelnen Menüpunkte angeklickt werden können, dass von oben nach unten läuft. Wenn man mit der Maus mittig ist, bleibts stehen, wenn man noch oben geht, läufts von unten nach oben. Geht man nach unten mit der Maus, läufts von oben nach unten.


Habe es in eine Html Seite eingebaut. Funktioniert auch wunderbar.

Allerdings nervts es, dass es von vorneherein von oben nach unten läuft. Vor allem wenn man andere Html Links anklickt, läuft das Menü immer die ganze Zeit durch, bis man es manuel stoppt.

Hab mal den AS gepostet, den es ausmacht:

Code:
onClipEvent (load) {
	max = _root.max;
	zentrum = 250;
	i = 0;
	while (i<max) {
		_root.attachMovie("menu", "menu"+i, i);
		mein = _root["menu"+i];
		mein._x = 70;
		mein._y = 300;
		mein.koord.txt = _root.menu_title[i];
		i++;
	}
	abstand = int(mein._height)*i;
	breite = int(mein._height);
	abstand = abstand/2;
	mpunkte = ((-abstand)+zentrum)+(breite/2);
	i = 0;
	while (max>=i) {
		mein = _root["menu"+i];
		mein._y = mpunkte;
		mpunkte = mpunkte+breite;
		i++;
	}
	minimum = _root.menu0._y;
	maximum = _root["menu"+(max-1)]._y;
}
onClipEvent (enterFrame) {
	for (a in _root) {
		tempo=((_root._ymouse-250)/1500)*11.5;
		if ((tempo<0.5) && (tempo>-0.5)) {
			tempo = 0;
		}
		_root[a]._y = _root[a]._y-tempo;
	}
}
Code:
function meinXML() {
	if (this.loaded && this.hasChildNodes) {
		count = 0;
		name = new Array();
		titel = new Array();
		mainTitle = new Array();
		menu_title = new Array();
		menu_text = new Array();
		menu_url = new Array();
		menu_datum = new Array();
		name = this.childNodes;
		i = 0;
		while (name.length>=i) {
			if (name[i].nodeName.toLowerCase() == "menu") {
				titel = name[i].childNodes;
				k = 0;
				while (titel.length>=k) {
					if (titel[k].nodeName == "wert") {
						mainTitle = titel[k].childNodes;
						j = 0;
						while (mainTitle.length>=j) {
							if (mainTitle[j].nodeName == "titel") {
								menu_title.push(mainTitle[j].firstChild.nodeValue);
							}
							if (mainTitle[j].nodeName == "besch") {
								menu_text.push(mainTitle[j].firstChild.nodeValue);
							}
							if (mainTitle[j].nodeName == "url") {
								menu_url.push(mainTitle[j].firstChild.nodeValue);
							}
							if (mainTitle[j].nodeName == "datum") {
								menu_datum.push(mainTitle[j].firstChild.nodeValue);
							}
							j++;
						}
					}
					k++;
				}
			}
			i++;
		}
		max = menu_title.length;
		_root.nextFrame();
	}
}
stop();
fscommand("allowscale", "false");
objXml = new XML();
objXml.load("menu2.xml");
objXml.onLoad = meinXML;

Da ich kaum AS kann. Wie muß der AS verändert werden, damit das Menü nicht von vorneherein sich von oben nach unten bewegt und steht, bis ich mit der Maus über dieses Flash Menü gehe und es bewußt nach oben oder unten laufen lasse?

Oder gibt es ein Befehl der generell alle Animationen ruhen läßt, bis man mit der Maus aus dem Html Bereich über den Flash bereich wandert?

Ich hoffe wirklich das es hier einige Cracks gibt die mir weiterhelfen können!

Gruß Nophyte
Angehängte Dateien
Dateityp: rar menue.rar (8,5 KB, 5x aufgerufen)

Geändert von Nophytex (15-06-2007 um 10:55 Uhr)
Nophytex ist offline   Mit Zitat antworten
Alt 15-06-2007, 07:55   #2 (permalink)
Zero to Hero
 
Registriert seit: Apr 2007
Beiträge: 871
häng bitte mal die fla an... ist vielleicht besser...
ingrimm ist offline   Mit Zitat antworten
Alt 15-06-2007, 10:55   #3 (permalink)
Superuser
 
Benutzerbild von Nophytex
 
Registriert seit: Jun 2004
Ort: Hürth
Beiträge: 61
So hab die Fla angehangen!
Nophytex ist offline   Mit Zitat antworten
Alt 16-06-2007, 20:20   #4 (permalink)
Superuser
 
Benutzerbild von Nophytex
 
Registriert seit: Jun 2004
Ort: Hürth
Beiträge: 61
Sos

Kann mir keiner helfen?
Nophytex ist offline   Mit Zitat antworten
Alt 18-06-2007, 05:53   #5 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Hi!
Ich glaube das Problem wäre eventuell zu beheben wenn du vorher abcheckst ob sich die maus in einem Bestimmten Bereich befindet (eventuel mit Rectangle.comtains() oder MovieClip.hitTest() ...)

Aber es gibt da noch ein Problem... In Flash kannst du keine Ereignisse überwachen die nicht im Flash Film auftreten. D.h. sobald die Maus nicht mehr über dem Film ist kannst du keine Clicks abfrage und auch nicht die Maus-Position. Also wenn die maus aus dem film bewegt wird, bleibt die letzte Position die noch im Film war gespeichert.

Vl. könntest du es so machen dass man die Maus gedrückt halten muss um zu scrollen. Das würde das Problem überhaupt umgehen.

Daniel
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 01-07-2007, 01:00   #6 (permalink)
Superuser
 
Benutzerbild von Nophytex
 
Registriert seit: Jun 2004
Ort: Hürth
Beiträge: 61
@Erstmal danke für deine Mühe..

Ich denke die Lösung ist noch einfacher, das Menü sollte von vorneherein still stehen. Also sobald man auf einen html link (die gibts auch noch) klickt und sich eine neue unterseite aufbaut mit selbigen menü, dass das menü still steht, bis man die maus drauf bewegt.

Kann mir einer sagen inwieweit im AS steht, dass das Menü von begin an läuft und wie man das AS modifizieren müßte, dass es von begin an steht?

Geändert von Nophytex (01-07-2007 um 01:09 Uhr)
Nophytex 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 21:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele