Variablen in Schaltflächen

HAL

Erfahrenes Mitglied
Ich will meinen code schöner und übersichtlicher gestalten, und zwar folgendermaßen:


Auf meinen Schaltflächen habe ich Anweisungen wie z.B.:

PHP:
on (rollOver) {
		this.DerSpezielleButton.gotoAndPlay(2);
	}

Ich würde aber gerne die Anweisungen, die für jeden Button im Prinzip gleich sind, aus einen externen AS-Datei inkludieren, sodass ich sie nur einmal schreiben muss. Dazu müssten aber die Namender jeweiligen Buttons durch eine Variable oder so jeweils eingefügt werden, damit auch der richtige Button angesprochen wird. Das wollte ich so in die Tat umsetzen:

PHP:
var buttonname="DerSpezielleButton";

on (rollOver) {
		this.buttonname.gotoAndPlay(2);
	}

So müsste ich nur "var buttonname="DerSpezielleButton";" hinschreiben und die AS-Datei inkludieren.

Leider kann ich Variablen aber auf Schaltflächen nur in on-Anweisungen defienieren, und ausserdem scheint das ganze mit this.buttonname.gotoAndPlay nicht zu funktionieren, weil das eben mit Variablen nicht klappt

Kann ich das trozdem irgendwie auf diese Weise lösen? Ich find das nämlich wesentlich eleganter, als das ganze jedes mal einzeln zu schreiben.


EDIT: Kann ich vielleicht wo anders eine Variable definieren, die nur auf der Schaltfläche gilt? Das würde ja auch reichen. Aber sie darf halt auch wirklich nur da gelten, sonst klappts ja nciht.
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Also ich hab jetzt mit gesundem Menschenverstand und der Hilfe deiner Datei das ganze ein bisschen umstrukturiert (übrigens mit AHA-Erlebniss was dieses System mit AS auf ner eigenen Ebene usw angeht...).

Ich hab einen neue Ebene für das ActionScript erstellt, das das ganze steuern soll. Darauf steht folgendes:

PHP:
MaskeHauptseite.onRollOver = function() {
	_root.ButtonHauptseite.gotoAndPlay(2);
};

Dabei ist "MaskeHauptseite" eine Schaltfläche und "ButtonHauptseite" der movieclip, der die Animation das Buttons enthält.

Leider tut sich überhaupt nichts und auch mit deiner Bespieldatei kann ich nicht herausfinden, wo mein Fehler liegt.

Danke jedenfalls für deine kostbare Zeit!

HAL
 
Zurück