Skip to content

Latest commit

 

History

History
175 lines (169 loc) · 2.23 KB

guidetimeexamples.html

File metadata and controls

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