Skip to content

Latest commit

 

History

History
183 lines (177 loc) · 2.38 KB

guidetimeexamples.html

File metadata and controls

183 lines (177 loc) · 2.38 KB
 
Apr 26, 2001
Apr 26, 2001
1
2
3
4
5
6
<HTML
><HEAD
><TITLE
>Time Examples</TITLE
><META
NAME="GENERATOR"
Feb 10, 2004
Feb 10, 2004
7
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
Apr 26, 2001
Apr 26, 2001
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
"><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
Feb 10, 2004
Feb 10, 2004
31
SUMMARY="Header navigation table"
Apr 26, 2001
Apr 26, 2001
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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"
Feb 10, 2004
Feb 10, 2004
49
ACCESSKEY="P"
Apr 26, 2001
Apr 26, 2001
50
51
52
53
54
55
56
57
58
59
60
61
62
>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"
Feb 10, 2004
Feb 10, 2004
63
ACCESSKEY="N"
Apr 26, 2001
Apr 26, 2001
64
65
66
67
68
69
70
71
72
73
74
75
76
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="GUIDETIMEEXAMPLES"
Feb 10, 2004
Feb 10, 2004
77
78
></A
>Time Examples</H1
Apr 26, 2001
Apr 26, 2001
79
80
81
82
83
84
85
><P
></P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
Jun 10, 2001
Jun 10, 2001
86
NAME="AEN412"
Feb 10, 2004
Feb 10, 2004
87
88
></A
>Time based game loop</H2
Apr 26, 2001
Apr 26, 2001
89
90
91
92
93
><P
><PRE
CLASS="PROGRAMLISTING"
>#define TICK_INTERVAL 30
Sep 14, 2001
Sep 14, 2001
94
95
96
static Uint32 next_time;
Uint32 time_left(void)
Apr 26, 2001
Apr 26, 2001
97
98
99
100
{
Uint32 now;
now = SDL_GetTicks();
Sep 14, 2001
Sep 14, 2001
101
102
103
104
if(next_time &#60;= now)
return 0;
else
return next_time - now;
Apr 26, 2001
Apr 26, 2001
105
106
107
}
Sep 14, 2001
Sep 14, 2001
108
/* main game loop */
Apr 26, 2001
Apr 26, 2001
109
Sep 14, 2001
Sep 14, 2001
110
next_time = SDL_GetTicks() + TICK_INTERVAL;
Apr 26, 2001
Apr 26, 2001
111
while ( game_running ) {
Sep 14, 2001
Sep 14, 2001
112
113
114
update_game_state();
SDL_Delay(time_left());
next_time += TICK_INTERVAL;
Apr 26, 2001
Apr 26, 2001
115
116
117
118
119
120
121
122
123
}&#13;</PRE
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
Feb 10, 2004
Feb 10, 2004
124
SUMMARY="Footer navigation table"
Apr 26, 2001
Apr 26, 2001
125
126
127
128
129
130
131
132
133
134
135
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="guidecdromexamples.html"
Feb 10, 2004
Feb 10, 2004
136
ACCESSKEY="P"
Apr 26, 2001
Apr 26, 2001
137
138
139
140
141
142
143
144
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
Feb 10, 2004
Feb 10, 2004
145
ACCESSKEY="H"
Apr 26, 2001
Apr 26, 2001
146
147
148
149
150
151
152
153
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="reference.html"
Feb 10, 2004
Feb 10, 2004
154
ACCESSKEY="N"
Apr 26, 2001
Apr 26, 2001
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
>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"
Feb 10, 2004
Feb 10, 2004
170
ACCESSKEY="U"
Apr 26, 2001
Apr 26, 2001
171
172
173
174
175
176
177
178
179
180
181
182
183
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL Reference</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>