📄 book-index.html
字号:
<HTML>
<HEAD>
<META name=vsisbn content="1571690433"><META name=vstitle content="Black Art of Java Game Programming"><META name=vsauthor content="Joel Fan"><META name=vsimprint content="Sams"><META name=vspublisher content="Macmillan Computer Publishing"><META name=vspubdate content="11/01/96"><META name=vscategory content="Web and Software Development: Programming, Scripting, and Markup Languages: Java"><TITLE>Black Art of Java Game Programming:Index</TITLE>
<!-- HEADER --><STYLE type="text/css"> <!-- A:hover { color : Red; } --></STYLE><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><script><!--function displayWindow(url, width, height) { var Win = window.open(url,"displayWindow",'width=' + width +',height=' + height + ',resizable=1,scrollbars=yes'); if (Win) { Win.focus(); }}//--></script><SCRIPT><!--function popUp(url) { var Win = window.open(url,"displayWindow",'width=400,height=300,resizable=1,scrollbars=yes'); if (Win) { Win.focus(); }}//--></SCRIPT><script language="JavaScript1.2"><!--function checkForQuery(fm) { /* get the query value */ var i = escape(fm.query.value); if (i == "") { alert('Please enter a search word or phrase'); return false; } /* query is blank, dont run the .jsp file */ else return true; /* execute the .jsp file */}//--></script></HEAD><BODY>
<TABLE border=0 cellspacing=0 cellpadding=0>
<tr>
<td width=75 valign=top>
<img src="1571690433.gif" width=60 height=73 alt="Black Art of Java Game Programming" border="1">
</td>
<td align="left">
<font face="arial, helvetica" size="-1" color="#336633"><b>Black Art of Java Game Programming</b></font>
<br>
<font face="arial, helvetica" size="-1"><i>by Joel Fan</i>
<br>
Sams, Macmillan Computer Publishing
<br>
<b>ISBN:</b> 1571690433<b> Pub Date:</b> 11/01/96</font>
</td>
</tr>
</table>
<P>
<!--ISBN=1571690433//-->
<!--TITLE=Black Art of Java Game Programming//-->
<!--AUTHOR=Joel Fan//-->
<!--AUTHOR=Eric Ries//-->
<!--AUTHOR=Calin Tenitchi//-->
<!--PUBLISHER=Macmillan Computer Publishing//-->
<!--IMPRINT=Sams//-->
<!--CHAPTER=0//-->
<!--PAGES=899-933//-->
<!--UNASSIGNED1//-->
<!--UNASSIGNED2//-->
<CENTER>
<TABLE BORDER>
<TR>
<TD><A HREF="ewtoc.html">Table of Contents</A></TD>
</TR>
</TABLE>
</CENTER>
<P><BR></P>
<H2><A NAME="Heading1"></A><FONT COLOR="#000077">Index</FONT></H2>
<P><FONT SIZE="+1"><B>Symbols</B></FONT></P>
<DL>
<DD>+ (plus sign), string concatenation, 25, 124
<DD>+= operator, 25
<DD>3D
<DL>
<DD>App3Dcore, 443
<DL>
<DD>building applications, 447-458
<DD>creating game layer, 461-471
<DD>implementing games, 471-497
<DD>internal structure, 444-447
<DD>virtual worlds, 497-502
</DL>
<DD>classes, 413-414
<DD>constructing pipelines
<DL>
<DD>camera, 423-426
<DD>classes, 427-438
<DD>projecting points on planes, 419
<DD>systems, 414-423
<DD>transforms, complete chain, 429-430
</DL>
<DD>convex polyhedrons, 410-412
<DD>linear algebra basics
<DL>
<DD>cross products, 880-881
<DD>dot products, 876-879
<DD>matrixes, 881-884
<DD>orthogonal normalized coordinate system, 872-873
<DD>vectors, 873-876
</DL>
</DL>
<DL>
<DD>matrixes in transformations, 884
<DL>
<DD>4x4, 891-894
<DD>creating classes, 895-898
<DD>identifying rotation, 885-886
<DD>multiple rotations, 889-891
<DD>rotating vectors, 886
<DD>scaling, 887-889
</DL>
<DD>performance, improving, 390-391
<DD>polygon-based modeling
<DL>
<DD>implementing polyhedron class, 408-410
<DD>polygons, 396-407
<DD>polyhedron, 391-395
</DL>
<DD>rotating points, 865
<DL>
<DD>applet, 870-872
<DD>x-axis, 868
<DD>y-axis, 868-869
<DD>z-axis, 866-868
</DL>
</DL>
</DL>
<P><FONT SIZE="+1"><B>A</B></FONT></P>
<DL>
<DD>abstract classes, 87-89
<DL>
<DD>indexing polygon, 398-399
<DD>interfaces comparison, 101
</DL>
<DD>abstract methods, 89
<DL>
<DD>indexing polygons, 401
<DD>polyhedron class, 408-410
</DL>
<DD>Abstract Windowing Toolkit (AWT), 9, 11
<DL>
<DD>components, 240-241
<DL>
<DD>buttons, 240-241
<DD>checkboxes, 241-242
<DD>hierarchy, 235
<DD>labels, 243
<DD>methods, 264-266
<DD>text fields, 244
</DL>
<DD>containers, 248
<DL>
<DD>dialogs, 251-252
<DD>frames, 249-250
<DD>GameFrame (Alien Landing game), 252-254
<DD>methods, 245, 264
<DD>panels, 248-249
</DL>
<DD>creating graphical interfaces, 236-237
<DD>cursors, 267-268
<DD>event handling, 121, 127, 129
<DL>
<DD>Component classes, 128
<DD>handleEvent( ) method, 130-131
<DD>keyboard events, 125
<DD>mouse events, 122-124
</DL>
<DD>high score server test applet GUI, 298-300
<DD>input devices, 120
<DD>LayoutManagers, 244-248
<DL>
<DD>BorderLayout, 246-247
<DD>FlowLayout, 245-246
<DD>GridLayout, 247
</DL>
<DD>overview, 234-235
<DD>quick reference, 264-265
<DL>
<DD>components, 264, 266
<DD>containers, 265, 267
<DD>cursors, 267-268
<DD>Event class, 269-270
<DD>menus, 269
</DL>
</DL>
<DD>access specifiers, 91-92
<DL>
<DD>accessor methods, 94-95
<DD>package/default, 93-94
<DD>private, 92-94
<DD>protected, 93-94
<DD>public, 92, 94
</DL>
<DD>action events, handling, 237
<DL>
<DD>components, 239-240
<DD>containers, 238
</DL>
<DD>action( ) method
<DL>
<DD>handling menu actions, 255
<DD>Magic Squares Puzzle, 707-708
<DD>Slider puzzle, 768
</DL>
<DD>Actor class (multithreaded animations), 364
<DD>ActorTest applet (multithreaded animations), 366-367
<DD>addAnswer( ) method, 670
<DD>addLevel( ) method, 677
<DD>addLives( ) method, 677
<DD>addresses (IP), defined, 279
<DD>addScore( ) method, 289, 677
<DD>addStar( ) method, 668
<DD>adjusting game board sizes, 614
<DD>advance( ) method, 661, 668
<DL>
<DD>overriding, 677
</DL>
<DD>afterLogin( ) method (MahJong), 742
<DD>algebra, linear
<DL>
<DD>cross products, 880-881
<DD>dot products, 876-879
<DD>matrixes, 881-884
<DD>orthogonal normalized coordinate system, 872-873
<DD>vectors, 873-876
</DL>
<DD>algorithms (MahJong), shuffling, 749
<DD>alias( ) method, sClientThread class (chat servers), 335
<DD>Alien Landing game
<DL>
<DD>action( ) method, handling menu actions, 255
<DD>closing, 208-210
<DD>communicating killed messages, 202
<DD>cursor settings, 252
<DD>customizing
<DL>
<DD>applet parameters, 263-264
<DD>customization Dialog, 256-261
<DD>GameFrame, 252, 258-259
<DD>GameFrame Container, 253-254
<DD>handling menu actions, 255
<DD>menu bar, 254-255
</DL>
<DD>difficulty levels, 200-203
<DL>
<DD>setting, 256-258
</DL>
<DD>functional units
<DL>
<DD>dividing responsibility, 158-159
<DD>interplay, 160-162
</DL>
<DD>game status, tracking, 203-205
<DD>GameManager, 161, 187
<DL>
<DD>applet tag, 191
<DD>class, 160, 188-191
<DD>explosion audio clip, 200
</DL>
</DL>
<DL>
<DL>
<DD>GameFrame class listing, 258-259
<DD>implementing VideoGame loop, 188
<DD>modified class listing, 211-217
<DD>OptionsDialog class listing, 260-261
<DD>passing input to GunManager, 187
<DD>registering attacking/exploding animations, 199-200
<DD>structure, 208
<DD>variables and methods listing, 261-264
</DL>
<DD>gameOver( ) method, 207-208
<DD>GunManager, 161, 173
<DL>
<DD>class listing, 175-176
<DD>computing variables, 173-174
<DD>defining, 162-164, 175
<DD>gun response to alien hits, 206-207
<DD>GunManager unit, 159
<DD>modified class listing, 217-220
<DD>passing mouse input, 187
<DD>Sprite and Sprite2D classes listing, 162-164
</DL>
<DD>GunSprite, 164
<DL>
<DD>BitmapSprite class, 164-165
<DD>class listing, 168
<DD>determining intersections, 167-168
<DD>hit( ) method, 207
<DD>implementing, 168-169
<DD>Intersect interface, 166
<DD>modified class listing, 223
<DD>Moveable interface, 165
</DL>
<DD>image strip, 372
<DD>killed( ) method, 202
<DD>KILL_FOR_NEXT_LEVEL constant, 202
<DD>landing aliens, 205
<DD>levels variable, 202
<DD>MissileSprite, 169
<DL>
<DD>class listing, 172
<DD>implementing, 171-172
<DD>Intersect interface, 171
<DD>RectSprite class, 169-171
</DL>
<DD>multithreaded animation, 368-370
<DL>
<DD>synchronized keyword, 370
</DL>
<DD>newGame( ) method, 209
<DD>opening, 208-210
<DD>overview, 156
<DD>paint( ) method
<DL>
<DD>alien hits, 207
<DD>attacking/exploding animation, 197
<DD>difficulty levels, 203
<DD>opening/closing, 209-210
</DL>
</DL>
<DL>
<DD>scoring, 204-205
<DD>sound, enabling/disabling, 256-258
<DD>UFO class, 177
<DL>
<DD>attacking/exploding aliens, 196-199
<DD>behavioral states, 179-180
<DD>BitmapLoop Sprite class, 177-178
<DD>class listing, 182-185
<DD>implementing, 182-185
<DD>modified class listing, 224-228
<DD>transitioning between states, 179-182
<DD>update( ) method, 199
</DL>
<DD>UFOManager, 160, 177
<DL>
<DD>class, 159, 185-187
<DD>modified class listing, 220-222
<DD>registering attacking/exploding animations, 200
</DL>
<DD>ufoskilled variable, 202
<DD>update( ) method
<DL>
<DD>alien landings, 205
<DD>difficulty levels, 203
<DD>missile gun collisions, 180
<DD>UFOSprite class, 182-183
</DL>
<DD>Video Game loop, 157-158
</DL>
<DD>aligning text (threads), 383-384
<DD>alignments
<DL>
<DD>BorderLayout, 247
<DD>FlowLayout, 246
</DL>
<DD>animatedIntroClass (Daleks! game ), 594
<DL>
<DD>object, 596
<DD>setInfo( ) method, 597
<DD>start( ) method, 598
</DL>
<DD>animateIntro object, 600
<DD>animation, 48
<DL>
<DD>adding complexity, 60-61
<DD>applets, creating, 49-52
<DD>Broadway Boogie Woogie applet
<DL>
<DD>animation flicker, 56-59
<DD>clipping, 59-60
<DD>execution path, 49-55
</DL>
<DD>clipping, 59-60
<DD>drawImage method, 57-58
<DD>flicker, 56-58
<DL>
<DD>eliminating, 57-59
</DL>
<DD>inheritance, 66-67
<DL>
<DD>DancingRect applet, 72-73
<DD>extension relationships, 68
<DD>final classes/methods, 72
<DD>method overriding, 69-70
</DL>
</DL>
<DL>
<DL>
<DD>Object class, 69
<DD>specialization, 68
<DD>super keyword, 70-71
</DL>
<DD>loops (Daleks! game ), 599
<DD>multithreaded, 363-364
<DL>
<DD>Actor class, 364
<DD>ActorTest applet, 366-367
<DD>advantages/disadvantages, 370-371
<DD>Alien Landing game, 368-370
<DD>CycleColorActor class, 364-365
<DD>synchronized keyword, 370
</DL>
<DD>objects
<DL>
<DD>defining classes, 62-63
<DD>instancing, 65-66
<DD>this keyword, 64-65
</DL>
<DD>Universal Animation Loop, 49, 52-53
<DD>Woogie applet, 78-81
</DL>
<DD>API (Application Program Interface) packages, 29-30, 833
<DL>
<DD>java.applet, 834-840
<DD>java.awt, 841-846
<DD>java.lang, 846-856
</DL>
<DD>App3Dcore
<DL>
<DD>building applications
<DL>
<DD>bouncing boxes, 447-455
<DD>collisions and object interations, 455-458
</DL>
<DD>creating game layer, 461
<DL>
<DD>classes, 463-471
<DD>workings, 462-463
</DL>
<DD>description, 443
<DD>implementing games, 471
<DL>
<DD>bomb bays, 491
<DD>bombs, 492-494
<DD>buildings, 480-481
<DD>explosions, 494-497
<DD>gliders, 476-479
<DD>mini-cannon shells, 490
<DD>mini-cannons, 486-488
<DD>missile launchers, 482-483
<DD>missiles, 484-485
<DD>shells, 488-489
<DD>tanks, 472-476
</DL>
<DD>internal structure, 444
<DL>
<DD>3D engine, 447
</DL>
<DD>virtual worlds
<DL>
<DD>applets, 499-502
<DD>display panels, 498
<DD>fWorld, 445-446, 497-498
</DL>
</DL>
<DD>applet class (java.applet), 840-841
<DD><APPLET> tag, parameters, 263-264
<DD>Applet Viewer (Java), 862-863
<DD>appletContext class (java.applet), 841
<DD>applets, 36
<DL>
<DD>ActorTest, 366-367
<DD>advantages over HTML, 8
<DD>Alien Landing game applet tag, 191
<DD>animation
<DL>
<DD>adding complexity, 60-61
<DD>clipping, 59-60
<DD>creating, 49-52
<DD>double-buffering, 57-59
<DD>flicker, 56-59
</DL>
<DD>bouncing sprites, 103, 108
<DL>
<DD>Bounce class listing, 105-107
<DD>BouncingRect class listing, 103-104
</DL>
<DD>Broadway Boogie Woogie
<DL>
<DD>animation flicker, 56-59
<DD>Broadway.java listing, 49-52
<DD>clipping, 59-60
<DD>execution path, 53-55
</DL>
<DD>ButtonTest, 237-238
<DD>chat room client
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -