webForumDet fria alternativet

tre problem med en bildvisare.

Flash

3 svar · 370 visningar · startad av altruism

Medlem sedan nov. 200664 inlägg
Frågan#1

Hej!

Jag har stött på diverse problem när jag tänkte göra en bildscroller till min portfolio. Bildscrollern fungerar så att man scrollar åt höger om man drar musen åt höger i flashen, och vänster om man drar musen åt vänster. Nu till problemen:

1. Hur gör jag för att få den nya sidan som kommer när man klickar på en bild att öppnas i samma fönster? Det fungerar visst inte att skriva _parent eller liknande i flashfilen. Det fungerar att öppna i ett nytt fönster men inte samma...

2. Jag skulle vilja få flashfilen att sluta scrolla då man för muspekaren utanför den. Alltså typ:
if musen är utanför flashfilen
sluta scrolla
end if.
:)

3. Hur kan jag göra så att flashfilen inte "nollställs" då man öppnar den nya sidan, det skulle vara schysst att göra så den stannar på den bilden man klickade på sist.

Det sista problemet är inte det viktigaste eftersom det känns som det kan vara svårt att åstadkomma. Men dom två första skulle vara trevligt om man fick lite hjälp med. Jag skickar med sidan så ni kan kolla själva, koden jag använt i flashfilen ser ut som följer:

http://www.luntan26.se/upload/portfolio

Koden för att scrolla:

var mellanrum_i_mitt:Number = 80, // Bredd på delen i mitten där moviclippet skall stå still.
hastighet:Number = 5; // hastigheten som det skall röra sig i, lägre för snabbare.
this.onEnterFrame = function () {
	if (_xmouse > Stage.width / 2 + mellanrum_i_mitt && clip._x + (clip._width + mellanrum_i_mitt) > Stage.width){ // musen till höger
			clip._x -= (_xmouse - Stage.width / 2 - mellanrum_i_mitt) / hastighet;
	}
	if (_xmouse < Stage.width / 2 - mellanrum_i_mitt && clip._x < 0){// musen till vänster
			clip._x -= (_xmouse - Stage.width / 2 + mellanrum_i_mitt) / hastighet;
	}
}

Koden för att öppna länken:

on(release){
getURL("bild1.htm",_parent);
	}
Medlem sedan dec. 2006608 inlägg
#2

altruism skrev:

1. Hur gör jag för att få den nya sidan som kommer när man klickar på en bild att öppnas i samma fönster? Det fungerar visst inte att skriva _parent eller liknande i flashfilen. Det fungerar att öppna i ett nytt fönster men inte samma...

Har du provat:

on(release){
getURL("bild1.htm");
	}

altruism skrev:

2. Jag skulle vilja få flashfilen att sluta scrolla då man för muspekaren utanför den. Alltså typ:
if musen är utanför flashfilen
sluta scrolla
end if.
:)

Lägg till en kontroll på om musen befinner sig låt sig inom fem pixlar från kanten på flashen så ska det nog lösa sig. :)

typ såhär:

if (_xmouse > Stage.width / 2 + mellanrum_i_mitt && clip._x + (clip._width + mellanrum_i_mitt) > Stage.width){ // musen till höger
	[B][red]if (_xmouse<Stage.width-5 && _xmouse>5 && _ymouse<Stage.height-5 && _ymouse>5){[/red][/B]
		clip._x -= (_xmouse - Stage.width / 2 - mellanrum_i_mitt) / hastighet;
	[B][red]}[/red][/B]
}

Observera att den metoden inte är idiotsäker, beroende på vilken framerate du har (ju lägre ju större risk) så kan ju faktiskt nån hinna dra musen över de områdena innan det uppdateras.

3. Då väntar vi med den här tills vidare :)

/Patrik

Medlem sedan nov. 200664 inlägg
#3

Tack för svaret! Problem två är löst i och med din lösning. Jag får acceptera att det inte är en 100% lösning, det duger. :)

Men problem 1 löste sig inte, det blir likadant även om man inte har med något parent, self eller nåt sånt....

Men om du (eller någon annan) har en lösning på problem tre så är jag i idel öra. hehe ;)

EDIT: pinsamt.... det fungerade att ta bort _parent. Jag var lite snabb med att kolla så det hann inte uppdateras... hehe. Två av tre problem lösta alltså! Tack för det! :)

Medlem sedan dec. 2006608 inlägg
#4

Två av tre är väl inte det värsta. :)

Och för att vara helt ärlig har jag ingen lösning på fråga 3.
Inte om du tänker använda bakåt knappen i webbläsaren. Gör du däremot en egen bakåtknapp kan du ju alltid skicka med en variabel.

Men det problemet får vänta, för nu ska här sovas. Godnatt.

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)