>>setInterval(function gameflow()  {
I think you're off to a good start with using setInterval.

>>The game should update the location of all objects 250 times/sec
However, expecting to refresh rate to be 250hz is a little unrealistic.
Nicholas Zakas literally just published a good article on timer resolution
in browsers here it is:
http://www.nczonline.net/blog/2011/12/14/timer-resolution-in-browsers/

Here is a good tutorial that does some simple collision detection stuff:
http://billmill.org/static/canvastutorial/

-Nate

On Thu, Dec 15, 2011 at 6:20 AM, Lars Gunther <itpast...@gmail.com> wrote:

> Hi group!
>
> First post from a lurker.
>
> I am teaching computer science with a focus on the web and have also been
> in charge of all web related education in Sweden at the secondary school
> level ("gymnasium" - approx senior high in the US/A-levels in UK).
>
> Yo may see some of my work here:
> http://translate.google.com/**translate?sl=sv&tl=en&js=n&**
> prev=_t&hl=en&ie=UTF-8&layout=**2&eotf=1&u=http%3A%2F%2Fwww.**
> skolverket.se%2Fforskola_och_**skola%2Fgymnasieutbildning%**
> 2F2.2576%2Famnesplaner_och_**kurser_for_gymnasieskolan_**
> 2011%2Fsubject.htm%**3FsubjectCode%3DWEB<http://translate.google.com/translate?sl=sv&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.skolverket.se%2Fforskola_och_skola%2Fgymnasieutbildning%2F2.2576%2Famnesplaner_och_kurser_for_gymnasieskolan_2011%2Fsubject.htm%3FsubjectCode%3DWEB>
>
> In the courses Web Development 2 and 3 students are expected to work with
> SVG, Canvas or WebGL.
>
> I am currently working on a project that will help them get started doing
> simple games and wish to help them do collision detection. I will not use
> an existing library, as all I've found are overkill.
>
> Here is my idea:
>
> The game should update the location of all objects 250 times/sec, in order
> reduce possibilities of "walking through walls", etc.
>
> But the game should only update what's being painted when tht information
> is needed, preferably using paint events as in mozRequestAnimationFrame,
> mozBeforePaint and mozAfterPaint.
>
> So I would like some help with a simple queuing mechanism that will add
> the current location of all objects to the paint buffer, but only have the
> most recently added one being used when the time has come to draw stuff on
> the screen.
>
> The easy solution would be to collision detect at 4 ms interval, but only
> paint at every 5th time. But paint events would of course be the better
> solution, from a technical POV.
>
> For teaching reasons I'd also like to come close to the Literate
> Programming paradigm: 
> http://en.wikipedia.org/wiki/**Literate_programming<http://en.wikipedia.org/wiki/Literate_programming>
>
> If I know the general solution, I think I can do the actual coding myself.
> But I am unsure about the design/algorithm.
>
> At the moment I do not need a gracefully degrading solution for browsers
> that do not support paint events. Nor do I need the solution to actually
> collision detect.
>
> Here is some pseudo-code to reflect my current thoughts:
>
> setInterval(function gameflow()  {
>    // This includes collission detection
>    move_all_objects_in_memory(); // DOM is left alone for SVG
>    if ( time_to_redraw ) {
>        move_all_objects_on_screen(); // DOM is updated for SVG
>    }
> }, 4);
>
> That if-construct should probably be some kind of event handler.
>
>
> All help appreciated!
>
>
>
> --
> Lars Gunther
> http://keryx.se/
> http://twitter.com/itpastorn/
> http://itpastorn.blogspot.com/
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/**jsment...@jsmentors.com/<http://www.mail-archive.com/jsmentors@jsmentors.com/>
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/**jsmentors@googlegroups.com/<http://www.mail-archive.com/jsmentors@googlegroups.com/>
>
> To unsubscribe from this group, send email to
> jsmentors+unsubscribe@**googlegroups.com<jsmentors%2bunsubscr...@googlegroups.com>
>

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/jsmentors@jsmentors.com/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/jsmentors@googlegroups.com/

To unsubscribe from this group, send email to
jsmentors+unsubscr...@googlegroups.com

Reply via email to