Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-12-2004, 16:29   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 46
Button mit AS ansteuern

Liebe Gemeinde,
habe folgendes Problem: Ich arbeite meistens mit Text-Navigationen, wo nach dem anklicken der Button markiert wird. Wenn der nächste Button angeklickt wird, wird die alte Markierung aufgehoben und der neue Button markiert. Dazu befinden sich alle Button in je einem Mc, wo nach klick auf den zweiten Frame geleitet wird usw.. Funktioniert alles prima.
ABER: jetzt möchte ich die Button alle zentral ansteuern und zwar mit folgendem Skript:
Code:
// // Hauptnavigation
stop();
// Anzahl der Buttons
amount = 3;
label = "mainNaviMc";
function resetButtons(id) {
	var temp_button;
	for (var i = 1; i<=amount; i++) {
		temp_button = label+i;
		if (temp_button != id) {
			this[temp_button].gotoAndStop(1);
		}
	}
}
_root.naviMc.hauptNaviMc.mainNaviMc1.produkteBtn.onRelease = function() {
	//getURL("../../123.html");
	_root.naviMc.hauptNaviMc.resetButtons(_name);
	_root.naviMc.hauptNaviMc.mainNaviMc1.nextFrame();
};
_root.naviMc.hauptNaviMc.mainNaviMc2.storyStoreBtn.onRelease = function() {
	//getURL("../../456.html");
	_root.naviMc.hauptNaviMc.resetButtons(_name);
	_root.naviMc.hauptNaviMc.mainNaviMc2.nextFrame();
};
_root.naviMc.hauptNaviMc.mainNaviMc3.überUnsBtn.onRelease = function() {
	//getURL("../../789.html");
	_root.naviMc.hauptNaviMc.resetButtons(_name);
	_root.naviMc.hauptNaviMc.mainNaviMc3.nextFrame();
};
Auch hier funktionieren die Button, ABER JEDER NUR EIMAL- dann ist Schluss!
Ich habe keine Ahnung mehr woran das liegt. Vielleicht am Wechsel von relativen und absoluten Pfaden (mit relativen funktioniert es nämlich gar nicht) oder vielleicht, dass meine Button immer noch Button sind und keine als Button funktionierende MCs.
Die alten Button-Skripte sind auch noch drin.

Im voraus vielen Dank für Euere Hilfe.

deepred
Angehängte Dateien
Dateityp: zip buttonProblem.zip (7,8 KB, 0x aufgerufen)
deepred ist offline   Mit Zitat antworten
Alt 12-12-2004, 16:50   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Schau mal, ob dir das hier hilft:
[Stuff] Release-Status für Buttons
__________________
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 12-12-2004, 17:09   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 46
hallo sonar,
danke- wenn ich Dich richtig verstehe, kann ich bei dieser zentralen Art die Buttonfunktion anzusteuern nur mit Mcs arbeiten und nicht mit eigentlichen Buttons?

In Deinem Bsp. ist es mir allerdings auch nicht gelungen alles funktionierend in einen zusätzlichen Mc zu packen. Da ich mit diversen Haupt- und Nebennavigationen arbeite, muß ich da schon mehr Struktur reinbringen, zumal ich auch Unternavigationen ein- und ausblenden muss.

deepred
deepred ist offline   Mit Zitat antworten
Alt 12-12-2004, 17:12   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 46
@ sonar
ach ja, noch etwas: leider habe ich gar nicht verstanden, wie man bei Deinem Skript die eigentlichen Funktion für die einzelnen Button/Mcs skriptet.

deepred
deepred ist offline   Mit Zitat antworten
Alt 12-12-2004, 17:24   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Bei diesem Skript wird davon ausgegangen, dass es sich in der selben Timeline befindet, wie die Button-MCs, die es steuert. Wenn du die in zusätzliche MCs verpackst o.ä. musst halt die Pfade im Skript anpassen.

Und ja, es läuft nur mit MCs als Buttons, Schaltflächen sind zu doof, haben keine eigene Timeline.

Die Aktionen, die jeder Button einzeln ausführen soll, kannst z.B. in ein Array packen und dann in Abhängigkeit des Button-Namens aufrufen - kommt drauf an, was die machen sollen... Navi-Aktion, Funktionen aufrufen...?
__________________
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 12-12-2004, 17:31   #6 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 46
hmm, so etwas wie ein array habe ich befürchtet. (kann ich nämlich nicht )
Das mit dem Pfad klappt jetzt.
Aber:
Code:
this.naviMc.mc1.onRelease = function() {
	getURL("http://www.flashforum.de", "_blank");
};
So wie hier geht es ja leider nicht, oder doch irgendwie?
Und zwar an diese Stelle in Deinem Skript:
Code:
	this["mc"+i].onRelease = function() {
		if (this != _root.clicked) {
			//hier die Navigations-Aktion
			this.gotoAndStop(3);
			_root.clicked.gotoAndStop(1);
			_root.clicked.useHandCursor = true;
			_root.clicked = this;
			this.useHandCursor = false;
danke für die Hilfe
deepred
deepred ist offline   Mit Zitat antworten
Alt 12-12-2004, 17:44   #7 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Sollen die alle per getURL andere Seiten aufrufen? Mal ein Beispiel für 3 Buttons:
ActionScript:
  1. //frame 1 auf _root
  2. var clicked;
  3. var urls = new Array("flashforum.de", "google.de", "playmobil.de");
  4. //
  5. for (var i = 1; i <= 5; i++) {
  6.     this["mc" + i].id = i;
  7.     this["mc" + i].onRollOver = function() {
  8.         if (this != _root.clicked) {
  9.             this.gotoAndStop(2);
  10.         }
  11.     };
  12.     this["mc" + i].onRollOut = this["mc" + i].onReleaseOutside = function () {
  13.         if (this != _root.clicked) {
  14.             this.gotoAndStop(1);
  15.         }
  16.     };
  17.     this["mc" + i].onRelease = function() {
  18.         if (this != _root.clicked) {
  19.             //hier die Navigations-Aktion:
  20.             getURL("http://www." + urls[this.id - 1]);
  21.             this.gotoAndStop(3);
  22.             _root.clicked.gotoAndStop(1);
  23.             _root.clicked.useHandCursor = true;
  24.             _root.clicked = this;
  25.             this.useHandCursor = false;
  26.         }
  27.     };
  28. }
__________________
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 12-12-2004, 17:52   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 46
nicht ausschliesslich, war nur ein Beispiel.
Was sie können müssen, ist in jedem Falle mit loadMovie andere Filme hinzuladen, sowie andere MCs insbesondere weitere Unternavigationen ein- und ausblenden.

deepred
deepred ist offline   Mit Zitat antworten
Alt 12-12-2004, 18:08   #9 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 46
und noch ne Frage: wie steuert man denn, welche Button welche Funktion ausführt? Nur über die Reihenfolge im array? Oder lässt sich "mc1" auch direkt ansteuern? Damit ich diverse/mehrere Aufgaben mit dem onRelease auf "mc1" verbinden kann.

danke
deepred
deepred ist offline   Mit Zitat antworten
Alt 12-12-2004, 20:10   #10 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 46
hallo sonar,
ich habe jetzt noch einiges probiert und siehe da, mit den folgenden Abwandlungen müßte es eigentlich klappen:
Code:
//frame 1 auf _root
var clicked;
//
for (var i = 1; i<=5; i++) {
	this["mc"+i].onRollOver = function() {
		if (this != _root.clicked) {
			this.gotoAndStop(2);
		}
	};
	this["mc"+i].onRollOut = this["mc"+i].onReleaseOutside=function () {
		if (this != _root.clicked) {
			this.gotoAndStop(1);
		}
	};
	this.mc1.onRelease = function() {
		if (this != _root.clicked) {
			//hier die Navigations-Aktion
			getURL("http://www.google.de", "_blank");
			this._parent.testMc._visible = false;
			this.gotoAndStop(3);
			_root.clicked.gotoAndStop(1);
			_root.clicked.useHandCursor = true;
			_root.clicked = this;
			this.useHandCursor = false;
		}
	};
	this.mc2.onRelease = function() {
		if (this != _root.clicked) {
			//hier die Navigations-Aktion
			getURL("http://www.t-online.de", "_blank");
			this._parent.testMc._visible = true;
			this.gotoAndStop(3);
			_root.clicked.gotoAndStop(1);
			_root.clicked.useHandCursor = true;
			_root.clicked = this;
			this.useHandCursor = false;
		}
	};
		this.mc3.onRelease = function() {
		if (this != _root.clicked) {
			//hier die Navigations-Aktion
			getURL("http://www.t-online.de", "_blank");
			this._parent.mc1._visible = false;
			this.gotoAndStop(3);
			_root.clicked.gotoAndStop(1);
			_root.clicked.useHandCursor = true;
			_root.clicked = this;
			this.useHandCursor = false;
		}
	};
}
Man muß wohl nur für jeden Button/MC eine eigene Funktion skripten...
Jetzt versuche ich noch mal die Farbwahl aus dem anderen thread mit einzubauen.

Vielen Dank
deepred
deepred 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 00:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele