Styre en sprite rundt i en cirkel
Hej der,Jeg sidder her og leger lidt med at bevæge et sprite.member rundt i en cirkel med pil tasterne, men damn, jeg fatter minus…
Har været en lille rundtur på nettet og fundet frem til en ½ løsning…
Min test omfatter følgende:
Et grafisk element som ligger i sprite(1)
En start kode som følgende:
global gSmily
on exitFrame me
gSmily = [#centX:160 , centY:120, yscale:80, xscale:120, omgangstid:3000]
end
Et Key script som ligger på sprite(1)som lyder sådan her:
global gSmilretning
on exitFrame()
k = the keypressed
case chartonum(k) of
28: gSmilretning = "left"
flyt
29: gSmilretning = "Right"
flyt
end case
end
Så et script som følgende:
global gSmily, gSmilretning
property pMillis
on flyt
pMillis = the milliseconds
if gSmilretning = "Right" Then
p = eTime(gSmily.omgangstid)
t = p * 2 * pi
sprite(1).loch = cos(t) * gSmily.xscale + gSmily.centX
sprite(1).locv = -sin(t) * gSmily.yscale + gSmily.centY
end if
if gSmilretning = "Left" Then
p = eTime(gSmily.omgangstid)
t = p * 2 * pi
sprite(1).loch = cos(t) * gSmily.xscale + gSmily.centX
sprite(1).locv = sin(t) * gSmily.yscale + gSmily.centY
end if
end
on eTime(period)
elapsed = (the milliseconds) - pMillis
return (elapsed mod period) / float(period)
end
Sidst men ikke mindst en go to the frame i sidste frame…
Men damn det virker jo ikke…
Det der er galt er at når jeg f.eks. holder højre pil tast nede køre elementet i sprite(1) fint rund i den cirkel jeg gerne vil have det til. Men slipper jeg så for en periode og starter den igen enten i samme eller modsatte retning starter den fra et nyt udgangs punkt og altså ikke fra hvor den stoppet som den gerne skulle…
Nogle der kan hjælpe mig???
trick c;)