hej! Det mest rimliga är väl att du hoppar till alla mellanliggande punkter med visst tidsintervall emellan. En snygg variant är att ta reda på var du ska och var du är. Du räknar sedan ut sträckan däremellan. Sedan tar du och sätter din position till den gamla position + t.ex. sträckan/3. Justera divisionen lite där dock... :) Han måste i vilket fall som helst ha en timeOut funktion annars uteblir animationseffekten. Testa dig fram med något sånt här: Hej Kalle!flytta lager
jag undrar hur jag ska gå till väga för att flytta ett lager från punkt a till punkt b. har kommit så långt som att lagret bara "hoppar" mellan punkterna men hur gör jag om jag vill ha en lite mer "glidande" effekt?
//kalleSv: flytta lager
Sv: flytta lager
Sv: flytta lager
Lägg en funktion som med en timeout som anropar en annan funktion som genomför en förflyttning av lagret, rensar din timeout och anropar den första funktionen igen.Sv: flytta lager
1. Bestäm start_x, slut_x, start_y, slut_y.
2. Beräkna differensen i varje steg genom att ta xdiff=(slut_x-start_x)/max_steg och ydiff=(slut_y-start_y)/max_steg
3. Beräkna ny position genom att ta x=start_x + antal_steg*xdiff (och motsvarande för y). antal_steg ligger i intervallet [0, max_steg].
4. Upprepa 3 efter ett litet tidsintervall.
Detta är en rätlinjig rörelse, och kanske inte alltid jättesnygg. Det finns andra lösningar att tillgå (exponentiellt avtagande, kubsik spline), om det skall vara lite "tuffare"... =)Sv: flytta lager
Tycker du skall kolla på DynAPi http://sourceforge.net/projects/dynapi/
Där kommer du se hur enkelt det är... och det fungerar i de flesta webbläsare.
Typ skapa lager layer1
anropa funktion layer1.slide(x,y)
Klart...
Ungefär så enkelt e det.
Hälsningar
Daniel