1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.2.1" />
7 <style type=
"text/css">
9 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
11 border: 1px solid red;
16 margin: 1em 5% 1em 5%;
21 text-decoration: underline
;
39 h1
, h2
, h3
, h4
, h5
, h6
{
41 font-family: sans-serif
;
48 border-bottom: 2px solid silver
;
51 border-bottom: 2px solid silver
;
61 border: 1px solid silver
;
76 font-family: sans-serif
;
83 font-family: sans-serif
;
87 font-family: sans-serif
;
89 border-top: 2px solid silver
;
95 padding-bottom: 0.5em;
99 padding-bottom: 0.5em;
103 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
104 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
105 div
.admonitionblock
{
108 margin-bottom: 1.5em;
110 div
.admonitionblock
{
112 margin-bottom: 2.5em;
115 div
.content
{ /* Block element content. */
119 /* Block element titles. */
120 div
.title
, caption
.title
{
121 font-family: sans-serif
;
125 margin-bottom: 0.5em;
131 td div
.title:first-child
{
134 div
.content div
.title:first-child
{
137 div
.content
+ div
.title
{
141 div
.sidebarblock
> div
.content
{
143 border: 1px solid silver
;
150 div
.listingblock
> div
.content
{
151 border: 1px solid silver
;
156 div
.quoteblock
> div
.content
{
163 div
.verseblock
+ div
.attribution
{
167 div
.admonitionblock
.icon
{
171 text-decoration: underline
;
173 padding-right: 0.5em;
175 div
.admonitionblock td
.content
{
177 border-left: 2px solid silver
;
180 div
.exampleblock
> div
.content
{
181 border-left: 2px solid silver
;
185 div
.verseblock div
.content
{
189 div
.imageblock div
.content
{ padding-left: 0; }
190 div
.imageblock img
{ border: 1px solid silver
; }
191 span
.image img
{ border-style: none
; }
195 margin-bottom: 0.8em;
207 list-style-position: outside
;
210 list-style-type: lower-alpha
;
213 div
.tableblock
> table
{
214 border: 3px solid
#527bbd;
217 font-family: sans-serif
;
226 margin-bottom: 0.8em;
234 padding-right: 0.8em;
241 div#footer-badges
{ display: none
; }
246 font-family: sans-serif
;
250 margin-bottom: 0.1em;
253 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
269 /* Workarounds for IE6's broken and incomplete CSS2. */
271 div
.sidebar-content
{
273 border: 1px solid silver
;
276 div
.sidebar-title
, div
.image-title
{
277 font-family: sans-serif
;
280 margin-bottom: 0.5em;
283 div
.listingblock div
.content
{
284 border: 1px solid silver
;
289 div
.quoteblock-content
{
293 div
.exampleblock-content
{
294 border-left: 2px solid silver
;
298 /* IE6 sets dynamically generated links as visited. */
299 div#toc
a:visited
{ color: blue
; }
301 <script type=
"text/javascript">
303 window
.onload = function(){generateToc(2)}
304 /* Author: Mihai Bazon, September 2002
305 * http://students.infoiasi.ro/~mishoo
307 * Table Of Content generator
310 * Feel free to use this script under the terms of the GNU General Public
311 * License, as long as you do not remove or alter this notice.
314 /* modified by Troy D. Hanson, September 2006. License: GPL */
315 /* modified by Stuart Rackham, October 2006. License: GPL */
317 function getText(el
) {
319 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
320 if (i
.nodeType
== 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
322 else if (i
.firstChild
!= null)
328 function TocEntry(el
, text
, toclevel
) {
331 this.toclevel
= toclevel
;
334 function tocEntries(el
, toclevels
) {
335 var result
= new Array
;
336 var re
= new RegExp('[hH]([2-'+(toclevels
+1)+'])');
337 // Function that scans the DOM tree for header elements (the DOM2
338 // nodeIterator API would be a better technique but not supported by all
340 var iterate = function (el
) {
341 for (var i
= el
.firstChild
; i
!= null; i
= i
.nextSibling
) {
342 if (i
.nodeType
== 1 /* Node.ELEMENT_NODE */) {
343 var mo
= re
.exec(i
.tagName
)
345 result
[result
.length
] = new TocEntry(i
, getText(i
), mo
[1]-1);
354 // This function does the work. toclevels = 1..4.
355 function generateToc(toclevels
) {
356 var toc
= document
.getElementById("toc");
357 var entries
= tocEntries(document
.getElementsByTagName("body")[0], toclevels
);
358 for (var i
= 0; i
< entries
.length
; ++i
) {
359 var entry
= entries
[i
];
360 if (entry
.element
.id
== "")
361 entry
.element
.id
= "toc" + i
;
362 var a
= document
.createElement("a");
363 a
.href
= "#" + entry
.element
.id
;
364 a
.appendChild(document
.createTextNode(entry
.text
));
365 var div
= document
.createElement("div");
367 div
.className
= "toclevel" + entry
.toclevel
;
368 toc
.appendChild(div
);
373 <title>Object Class Reference
</title>
377 <h1>Object Class Reference
</h1>
379 <div id=
"toctitle">Table of Contents
</div>
380 <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.
</b></p></noscript>
383 <h2>1. Attributes
</h2>
384 <div class=
"sectionbody">
385 <p><em>Italics
</em> means private (in the sense that they shouldn't be set manually).
</p>
386 <div class=
"tableblock">
389 cellspacing=
"0" cellpadding=
"4">
408 x position (on screen)
416 y position (on screen)
456 movement heading in degrees
464 speed (in pixels/update)
480 list of collision Rects
488 type of Object (for collision)
496 maximum number of updates before Object self collects
504 current number of updates
512 flag for if Object is in death animation (affects collision)
520 flag to indicate if an Object should be collected
528 <div class=
"sectionbody">
529 <div class=
"tableblock">
532 cellspacing=
"0" cellpadding=
"4">
559 updates the Object's state
567 draws the Object's image at (x, y)
575 method executed upon collision (undefined for base class)
583 returns the center coordinates of the Object
591 sets the drawing offset (sprite is offset by these amounts to the upper left)
599 <div class=
"sectionbody">
600 <p>This class is not designed to be instantiated directly, instead it should be
601 extended and serve as the base for all in-game objects.
602 An example object definition is as follows:
</p>
603 <div class=
"listingblock">
604 <div class=
"content"><!-- Generator: GNU source-highlight 2.4
606 http://www.lorenzobettini.it
607 http://www.gnu.org/software/src-highlite -->
608 <pre><tt>MyObj
<span style=
"color: #990000">=
</span> <span style=
"font-weight: bold"><span style=
"color: #000000">Object:new
</span></span><span style=
"color: #990000">()
</span>
609 MyObj
<span style=
"color: #990000">.
</span>attr1
<span style=
"color: #990000">=
</span> <span style=
"color: #993399">4</span>
610 MyObj
<span style=
"color: #990000">.
</span>attr2
<span style=
"color: #990000">=
</span> <span style=
"color: #FF0000">"some value"</span>
612 <span style=
"font-style: italic"><span style=
"color: #9A1900">--constructor
</span></span>
613 <span style=
"font-weight: bold"><span style=
"color: #0000FF">function
</span></span> <span style=
"font-weight: bold"><span style=
"color: #000000">MyObj:new
</span></span><span style=
"color: #990000">(
</span>o
<span style=
"color: #990000">)
</span>
614 o
<span style=
"color: #990000">=
</span> o
<span style=
"font-weight: bold"><span style=
"color: #0000FF">or
</span></span> <span style=
"color: #FF0000">{}
</span>
615 <span style=
"font-weight: bold"><span style=
"color: #000000">setmetatable
</span></span><span style=
"color: #990000">(
</span>o
<span style=
"color: #990000">,
</span> self
<span style=
"color: #990000">)
</span>
616 self
<span style=
"color: #990000">.
</span>__index
<span style=
"color: #990000">=
</span> self
617 <span style=
"font-weight: bold"><span style=
"color: #0000FF">return
</span></span> o
618 <span style=
"font-weight: bold"><span style=
"color: #0000FF">end
</span></span>
620 <span style=
"font-style: italic"><span style=
"color: #9A1900">--other methods defined here
</span></span>
621 </tt></pre></div></div>
624 <div id=
"footer-text">
625 Last updated
17-Aug-
2007 18:
11:
32 EDT