webForumDet fria alternativet

Duplicate

9 svar · 484 visningar · startad av UnConed

UnConedMedlem sedan jan. 2002306 inlägg
#1

Hej.
"Jag" har gjort en flashfilm -sak. Om man klickar på filmen så ritas så en liten cirkel upp där man har klickat. Problemet är att om jag klickar någon annanstans på filmen så försvinner den första cirklen. Min fråga är: Varför? Jag vill inte att den ska försvinna! Jag är långt ifrån någon gud på flash utan använder det bara i snitt kanske 1 gång per år eller så till små privata hobbyprojekt.

Kodsnutten som jag hittade på internet och använder mig av är följande (något modiferad sedan jag hittade den):

this.createEmptyMovieClip("img_mc"+i, i);
img_mc+i.loadMovie("grepp.swf");
duplicateMovieClip("img_mc"+i, "newImg_mc", i);
newImg_mc._x = _xmouse-25;
newImg_mc._y = _ymouse-25;
newImg_mc.loadMovie("grepp.swf");
i++;

andyoumaydieMedlem sedan dec. 2006404 inlägg
#2

UnConed skrev:

this.createEmptyMovieClip("img_mc"+i, i);
img_mc+i.loadMovie("grepp.swf");
duplicateMovieClip("img_mc"+i, "newImg_mc", i);
newImg_mc._x = _xmouse-25;
newImg_mc._y = _ymouse-25;
newImg_mc.loadMovie("grepp.swf");
i++;

Jag undrar var den koden ligger? för jag kan inte se nåt som triggas av ett musklick i den koden.

men jag skulle skrivit den koden så här istället:

this.createEmptyMovieClip("img_mc", this.getNextHighestDepth());
img_mc.loadMovie("grepp.swf");
duplicateMovieClip("img_mc", "newImg_mc"+i, this.getNextHighestDepth());
["newImg_mc"+i]._x = _xmouse-25;
["newImg_mc"+i]._y = _ymouse-25;
["newImg_mc"+i].loadMovie("grepp.swf");
i++;
UnConedMedlem sedan jan. 2002306 inlägg
#3

Den ligger in ett movieclip.
Skulle självklart ha tagit med att den ligger inom en "on (press)".

andyoumaydieMedlem sedan dec. 2006404 inlägg
#4

Redigerade mitt tidigare inlägg...
då ligger det alltså i en knapp.
har du provat att lägga en funktion i _root istället.
det tycker jag är mycket enklare, o i det här fallet, där jag tror att du använder din kod i en knapp så blir det inte helt rätt.

UnConedMedlem sedan jan. 2002306 inlägg
#5

Testade den just.
Då fick jag följande felmeddelande:
**Error** Scene=Scene 1, layer=Bakgrund, frame=1:Line 6: Unexpected '.' encountered
["newImg_mc"+i]._x = _xmouse-25;

**Error** Scene=Scene 1, layer=Bakgrund, frame=1:Line 8: Unexpected '.' encountered
["newImg_mc"+i].loadMovie("grepp.swf");

**Error** Scene=Scene 1, layer=Bakgrund, frame=1:Line 12: Statement must appear within on/onClipEvent handler
if (_root.greppc.vad == "fot") {

**Error** Scene=Scene 1, layer=Bakgrund, frame=1:Line 22: Unexpected '}' encountered
}

Koden ser ut enl. följande:
on(press) {
if (_root.greppc.vad == "hand") {
this.createEmptyMovieClip("img_mc", this.getNextHighestDepth());
img_mc.loadMovie("grepp.swf");
duplicateMovieClip("img_mc", "newImg_mc"+i, this.getNextHighestDepth());
["newImg_mc"+i]._x = _xmouse-25;
["newImg_mc"+i]._y = _ymouse-25;
["newImg_mc"+i].loadMovie("grepp.swf");
i++;

}

}

andyoumaydieMedlem sedan dec. 2006404 inlägg
#6

Kan ha missat nåt med punkterna där, ska kolla upp det. :)

Har jag förstått dig rätt om:
När du klickar med musen så vill du duplicera img_mc?

För den här koden skapar nämligen ett nytt movieclip varje gång du klickar om _root.greppc.vad == "hand" för att sen duplicera det, det är väl inte tanken va?
Dessutom så skapas dessa movieclip i knappen.

UnConedMedlem sedan jan. 2002306 inlägg
#7

Jag vill:
Duplicera ett movieclip varje gång jag klickar på en viss yta. Det duplicerade movieclipet ska hamna där jag klickar med musen.
I ett senare skede så skulle jag också vilja att movieclipet (något av de duplicerade) försvann om jag klickade på dem.

andyoumaydieMedlem sedan dec. 2006404 inlägg
#8
var i:Number = 0;
var pagewidth:Number = Stage.width; //hela spelarens bredd
var pageheight:Number = Stage.height; //hela spelarens höjd
this.createEmptyMovieClip("button_btn", this.getNextHighestDepth());
button_btn.beginFill(0xff0000, 100); //0xff0000 = röd, 100 = alpha (0 är transparent)
button_btn.lineStyle(1, 0xff0000, 100, true, "none", "round", "miter", 1);
button_btn.moveTo(0, 0);
button_btn.lineTo(pagewidth-1, 0);
button_btn.lineTo(pagewidth-1, pageheight-1);
button_btn.lineTo(0, pageheight-1);
button_btn.lineTo(0, 0);
button_btn.endFill;
_root.createEmptyMovieClip("holder_mc", _root.getNextHighestDepth());
holder_mc.createEmptyMovieClip("img_mc"+i, holder_mc.getNextHighestDepth());
button_btn.onPress = function() {
	if (i>=0) {
		duplicateMovieClip(holder_mc.img_mc0, "Img_mc"+i, holder_mc.getNextHighestDepth());
		holder_mc["Img_mc"+i]._x = _xmouse-25;
		holder_mc["Img_mc"+i]._y = _ymouse-25;
		holder_mc["Img_mc"+i].loadMovie("[red]din_swf_här[/red]", holder_mc["Img_mc"+i]);
		trace("kopierar, i = "+i);
		i += 1;
	}
};

jag gjorde den här lite fort, klistra in den i första framen i ett nytt flashdokument och ändra det som är skrivet med röd text till det du vill ladda in. spara den i samma mapp som det du vill ladda in. och testa den. sen kan du ju försöka laborera lite för att få den att passa din flashfil, t ex ändra storlek på button_btn och min if-sats är ju alltid sann i det här exemplet.

Hoppas det kan hjälpa dig att förstå något. :birp
Annars så är det bara att fråga vidare så ska jag fortsätta att försöka hjälpa dig.

UnConedMedlem sedan jan. 2002306 inlägg
#9

Tack! Det fungerade utmärkt.

andyoumaydieMedlem sedan dec. 2006404 inlägg
#10

Det är en glädje att kunna hjälpa till . :birp

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb