Hi Karim,
i put them both in there, the one you are referring to is simpler:
ofcourse this value can be kept out of the enterframe loop, i have a
utility class for it (although it is a bit overkill;))
private function enterFrame( event : Event ) : void {
sp.x += speed * spDir;
if ( 0 > sp.x|| ( sp.x + sp.width ) > stage.stageWidth ) spDir =
-spDir;
var lSpeedPerSecond:Number = 300;
var lSpeedPerFrameConstant:Number = lSpeedPerSecond /
stage.frameRate;
spc.x += lSpeedPerFrameConstant* spcDir;
if ( 0 > spc.x|| ( spc.x + spc.width ) > stage.stageWidth ) spcDir =
-spcDir;
t0 = getTimer();
}
Anyway, basically frameindependent value is simply
SPEED_PER_SECOND/FRAMES_PER_SECOND.
regards
Hans
On 26-10-2012 16:58, Karim Beyrouti wrote:
are you trying to do frame rate independent animation based on a fixed frame
rate (eg you switch from 30 to 60 and everything should move at the same pace
but more fluid
Yep - that is the one… all my game physics is independent of framerate (time
based)… however, I am trying to get other non-physics based animated
objects/code
to work the same way (i.e. the camera), and I am finding it a little difficult.
Will try your solution - although it looks like it's for the other option
(variable framerate)….
Thank you for helping….
Karim Beyrouti
t: +44 (0) 7977 997 629
e: ka...@kurst.co.uk
w: http://kurst.co.uk
skype: karimbeyrouti
109 Timber Yard, Drysdale Street, Hoxton, London, N1 6ND
On 26 Oct 2012, at 15:21, Hans Wichman wrote:
Hi,
are you trying to do frame rate independent animation based on a fixed frame
rate (eg you switch from 30 to 60 and everything should move at the same pace
but more fluid), or trying to make up a variable framerate due to running code?
Anyway since you are keeping y constant I compressed the code a bit, is this
what you are looking for?
private function enterFrame( event : Event ) : void {
sp.x += speed * spDir;
if ( 0 > sp.x|| ( sp.x + sp.width ) > stage.stageWidth ) spDir =
-spDir;
var lSpeedPerSecond:Number = 300;
var lSpeedPerFrameConstant:Number = lSpeedPerSecond /
stage.frameRate;
var lSpeedPerFrameVariable:Number = lSpeedPerSecond *
(getTimer()-t0)/1000;
spc.x += lSpeedPerFrameConstant* spcDir;
//spc.x += lSpeedPerFrameVariable * spcDir;
if ( 0 > spc.x|| ( spc.x + spc.width ) > stage.stageWidth ) spcDir
= -spcDir;
t0 = getTimer();
}
hth
jc
On 26-10-2012 15:29, Karim Beyrouti wrote:
Hello Flash coders,
It's been a little quite here of late… So, hope it's good with with you all. …
I have been trying to figure this out for a day or so, and wondering if you can
help. I am trying to time correct my animation to be independent of framerate,
which is a little easier when dealing with physics (scaling velocity /
position) than non physics animation… In my app physics is time corrected,
however I have some code that is not physics based an am trying to have that
running independently of framerate (and not really succeding).
In the following demo:
http://kurst.co.uk/transfer/timecorrection/TimeCorrection.swf
I have two rects ( green and red ). The green one is being time corrected, and
I would expect it to follow the red one ( as there is no lag in framerate )…
however as you can see - it's not
really working.
Using the following formula to correct it:
var spcTargetPosition : Point = new Point()
spcTargetPosition.x = ( spc.x + ( spc.x + 10 ) ) * speed * spcDir;
spcTargetPosition.y = spc.y;
dt = 0.001 * (getTimer() - t0);
time += dt;
t0 = getTimer();
spc.x = spc.x + ( dt * spcTargetPosition.x );
Here is the full code:
http://kurst.co.uk/transfer/timecorrection/TimeCorrection.as
I would love it if you can point out where I am going wrong...
Best regards
Karim Beyrouti
t: +44 (0) 7977 997 629
e: ka...@kurst.co.uk
w: http://kurst.co.uk
skype: karimbeyrouti
109 Timber Yard, Drysdale Street, Hoxton, London, N1 6ND
Karim Beyrouti
t: +44 (0) 7977 997 629
e: ka...@kurst.co.uk
w: http://kurst.co.uk
skype: karimbeyrouti
109 Timber Yard, Drysdale Street, Hoxton, London, N1 6ND
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders