Mercurial > sdl-ios-xcode
view docs/html/guidetimeexamples.html @ 2321:c5feceb0395e
SetupWindowData in SDL_X11window.c was realloc()ing the display window list and incrementing numwindows even though those are being updated in functions that call
this function. The result is that it is possible to get the same window added to the list twice.
author | Bob Pendleton <bob@pendleton.com> |
---|---|
date | Tue, 04 Mar 2008 23:09:28 +0000 |
parents | 355632dca928 |
children |
line wrap: on
line source
<HTML ><HEAD ><TITLE >Time Examples</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="SDL Library Documentation" HREF="index.html"><LINK REL="UP" TITLE="Examples" HREF="guideexamples.html"><LINK REL="PREVIOUS" TITLE="CDROM Examples" HREF="guidecdromexamples.html"><LINK REL="NEXT" TITLE="SDL Reference" HREF="reference.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >SDL Library Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="guidecdromexamples.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 4. Examples</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="reference.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="GUIDETIMEEXAMPLES" ></A >Time Examples</H1 ><P ></P ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN412" ></A >Time based game loop</H2 ><P ><PRE CLASS="PROGRAMLISTING" >#define TICK_INTERVAL 30 static Uint32 next_time; Uint32 time_left(void) { Uint32 now; now = SDL_GetTicks(); if(next_time <= now) return 0; else return next_time - now; } /* main game loop */ next_time = SDL_GetTicks() + TICK_INTERVAL; while ( game_running ) { update_game_state(); SDL_Delay(time_left()); next_time += TICK_INTERVAL; } </PRE ></P ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="guidecdromexamples.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="reference.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >CDROM Examples</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="guideexamples.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL Reference</TD ></TR ></TABLE ></DIV ></BODY ></HTML >