Radera duplicerade MC... nollställa

Flash

1 svar · 208 visningar · startad av magnusfeldth

Medlem sedan jan. 20034 480 inlägg
Trådstart#1

Jag har ett flashspel som har funktionen att man trycker på en knapp så dupliceras ett mc... Nu vill jag ha en "nollställningsknapp" som tar bort alla duplicerade mc.... Hur gör man det?

koden jag använder för duplicering:

on (press) {

	//Duplicate Movieclip Behavior
	//Requires Flash Player 7 or later
	var newdepth = this._parent.nalen._parent.getNextHighestDepth();
	var newname = "copy" + newdepth;
	var prevname = "copy" + (newdepth-1);
	if (this._parent.nalen._parent[prevname] == undefined) this._parent.nalen._parent[prevname] = this._parent.nalen;
	this._parent.nalen.duplicateMovieClip(newname,newdepth, {_x:_xmouse, _y:_ymouse});

	//End Behavior

}
Medlem sedan maj 2003750 inlägg
#2

Snabbfix:

on (press) {

	//Duplicate Movieclip Behavior
	//Requires Flash Player 7 or later
	var currentDepth = this._parent.getNextHighestDepth();
 	var ref = this._parent;
 	var tmp = null;
	
 	while(tmp = ref["copy" + (--currentDepth)])
 	{
 	 	tmp.removeMovieClip();
 	}
}

Andra varianter är att lägga in referens till kopian i en array som du sedan loopar igenom och anropar removeMovieClip på varje referens.

BTW du kan ta bort "nalen._parent" i sökvägarna. Ingen poäng att gå till filmklippet och sedan tillbaka igen. såvida inte "nalen" är en referens till ett filmklipp som ligger på någon annan tidslinje.

/Mirandir

265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)