webForumDet fria alternativet

Infoga bild vid klick?

Flashur Flash, Shockwave

8 svar · 280 visningar · startad av magnusfeldth

magnusfeldthMedlem sedan jan. 20034 480 inlägg
#1

Hallå flashforumet! Nu är det dags för mig att lära mig flash. Jag är novis när det gäller det, har dock under senaste året lärt mig ASP så programmering bör inte bli de största problemen, när man väl kommit in i det.

Min fråga är denna.

Jag har hittat en tutorial hur man gör sin egen pekare i Flash, men vad jag vill veta är:
Hur gör man för att infoga en bild (symbol eller movie clip, vilket det nu ska vara) när man klickar, och gör så att den hamnar där man klickat?

Nån som vet, eller har en länk till en bra tutorial?

(vill tillägga att jag använder flash 2004 mx professional, ifall det är lite annorlunda än andra versioner)

roadyMedlem sedan jan. 2002473 inlägg
#2

du använder dig utav attachMovie om det är ett movieclip från biblotekek (glöm inte att ge den link namn) eller loadMovie om du laddar in t.ex en *.jpg bild externt.

Sedan för positioneringen så kan du få fram musen x och y värde.

Så vad jag skulle göra är:
1. lägg en listner på musen som känner av när du klickar på scenen.
2. ta musens x och y värde och skapa ett dynamiskt tomt movieclip
3. ladda in externt en bild och placera på det tomma movieclipet.

lycka till :birp

magnusfeldthMedlem sedan jan. 20034 480 inlägg
#3

Hm, är novis, så få se nu...

"lägg en listner..."
Kan man inte använda mousedown? Kan du beskriva lite mer ingående, som sagt är jag nybörjare... Jag har ordnat script som tar fram musens x- och y-värde, så det är lugnt, men det andra är lite lurigare....

magnusfeldthMedlem sedan jan. 20034 480 inlägg
#4

den här koden skriver flash själv för att duplicera ett MC när jag klickar på den, men hur gör jag för att den ska duplicera en annan MC än den jag klickar på?

on (press) {

	var newdepth = this._parent.getNextHighestDepth();
	var newname = "copy" + newdepth;
	var prevname = "copy" + (newdepth-1);
	if (this._parent[prevname] == undefined) this._parent[prevname] = this;
	this.duplicateMovieClip(newname,newdepth);
	this._parent[newname]._x = this._parent[prevname]._x + 10;
	this._parent[newname]._y = this._parent[prevname]._y + 10;

}
magnusfeldthMedlem sedan jan. 20034 480 inlägg
#5

har hittat den här koden:

// 1. SETTING THINGS
// ----------------
_root.createEmptyMovieClip("line",1);

// 2. EVENTS IN _ROOT:
// ------------------------
_root.onMouseDown = function(){
	line.moveTo(_xmouse,_ymouse);
	line.lineStyle(0,0x000000,100);
	this.onEnterFrame = function(){
		line.lineTo(_xmouse,_ymouse);
	}
}
_root.onMouseUp = function(){
	this.onEnterFrame = null;
}
// 3. BUTTON "ERASE":
// --------------------
buttonErase.onPress = function(){
	_root.line.clear();
}

Men, kan man göra så att man istället infogar en bildfil för att rita med istället?

SöderlundMedlem sedan juli 20031 505 inlägg
#6

Gör ett filmklipp och se till att Export for ActionScript är ikryssad och skriv in myMC i textfältet Identifier.
Lägg följande kod i frame 1 och tuta och kör

var i = 1;
myMousePos = new Object();
myMousePos.onMouseDown = function(){
	_root.attachMovie("myMC", "mc_ruta"+i, i)
	_root["mc_ruta"+i]._x = _xmouse;
	_root["mc_ruta"+i]._y = _ymouse;
	i++;
}
Mouse.addListener(myMousePos);
magnusfeldthMedlem sedan jan. 20034 480 inlägg
#7

Oki, koden funkar ungefär som jag vill. Den släpper av MC där den ska, men jag får den inte att "måla" med bilden. Vad jag menar är att den alltså bara sätter ett ex precis där man klickar, men jag vill att den ska måla upp flera om man klickar och drar som med en målarpensel... Förstår ni på ett ungefär? Kan man ändra Onmousedown till nåt? Vilka typer finns det (onmousedown, onmouseout osv)

Dessutom, hur får jag raderaknappen att fungera? Testade med

buttonErase.onPress = function(){
	_root.myMC.clear();

men det gick ju naturligtvis inte...

SöderlundMedlem sedan juli 20031 505 inlägg
#8

Testa att med att byta ut onMouseDown mot onMouseMove.

roadyMedlem sedan jan. 2002473 inlägg
#9

tror att om du skall använda dig utav en målarliknande sak så måste du ha en listner som kollar när musen är nertryckt, då kan de gå på en onEnterFrame som skapar tomt movieclip och lägger dit den bild du skall ha.

142 ms totalt · 3 externa anrop · v20260731065814-full.94fcd635
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)