AS vereinfachen/zusammenfassen

MathiasG

Grünschnabel
Hallo tutorials.de-Community,

wie im Titel beschrieben möchte ich unten stehendes Script zusammenfassen, damit ich nicht jedes mal für jeden neuen movieclip die Events neu anlegen muss. Was mir im Moment fehlt, ist ein Denkanstoß, denn ich habe mich auf eine for-Schleife versteift und damit komme ich nicht weiter, vielleicht auch, weil ich sie falsch anwende.


Code:
//Events für Button 1

button_1.onRollOver = function()
{
	if ( mcslider_1._currentframe == 1 )
	{
		mcslider_1.gotoAndPlay(2);
	}
}
	
button_1.onRollOut = function()
{
	var cf = mcslider_1._currentframe
	if ( cf == 9 )
	{
		mcslider_1.gotoAndPlay(10);
	}
	else if ( cf < 9 && cf != 1 )
	{
		mcslider_1.out = true;
	}		
}


//Events für Button 2

button_2.onRollOver = function()
{
	if ( mcslider_2._currentframe == 1 )
	{
		mcslider_2.gotoAndPlay(2);
	}
}
	
button_2.onRollOut = function()
{
	var cf = mcslider_2._currentframe
	if ( cf == 9 )
	{
		mcslider_2.gotoAndPlay(10);
	}
	else if ( cf < 9 && cf != 1 )
	{
		mcslider_2.out = true;
	}		
}


Für jede Idee wäre ich sehr dankbar!

Mathias
 
PHP:
var anz:Number = 2;
for (var i = 1; i <= anz; i++) {
	this["button_" + i].idx = i;
	this["button_" + i].onRollOver = function() {
		if (this["mcslider_" + this.idx]._currentframe == 1) this["mcslider_" + this.idx].gotoAndPlay(2);
	};
	this["button_" + i].onRollOut = function() {
		var cf = this["mcslider_" + this.idx]._currentframe;
		if (cf == 9) this["mcslider_" + this.idx].gotoAndPlay(10);
		if (cf < 9 && cf != 1) this["mcslider_" + this.idx].out = true;
	};
}

Wäre jetzt für button_1, button_2 .
Falls mehr Buttons die funktionen haben sollen mußt du nur die anz Varible erhöhen
 
Dank Dir schonmal Denniz. Mein Ansatz schien also zu stimmen. Knapp daneben ist halt auch vorbei. Allerdings funtkioniert es immer noch nicht so ganz.

Ich hab deshalb mal die .fla mit deinem Code angehängt.
 

Anhänge

  • menu.fla
    144 KB · Aufrufe: 22
Kann ja auch nicht funktionieren da du in dem Film keine Buttons mit der bezeichnung button_1 usw hast .
Bin von dem oberen Skript ausgegangen das es diese button instanzen gibt.

PHP:
var anz:Number = 2;
for (var i = 1; i <= anz; i++) {
	this["mcslider_" + i].idx = i;
    this["mcslider_" + i].onRollOver = function(){
		if (this._currentframe == 1) this.gotoAndPlay(2);
    };
  this["mcslider_" + i].onRollOut = function() {
		var cf = this._currentframe;
        if (cf == 9) this.gotoAndPlay(10);
        if (cf < 9 && cf != 1) this.out = true;
    };
}
 

Neue Beiträge

Zurück