webForumDet fria alternativet

Radera duplicerade MC... nollställa

Flash

1 svar · 201 visningar · startad av magnusfeldth

Medlem sedan jan. 20034 480 inlägg
Frågan#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

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)