Red de conocimiento informático - Aprendizaje de programación - Directorio para programación avanzada de juegos Java

Directorio para programación avanzada de juegos Java

1.1 Actualizar a Java 1.4 1

1.2 Clase de kernel 1

1.3 Ejecutar el programa de versión demo en línea 2

1.4 Profundizar en biblioteca de juegos 3

1.4.1 directorio croftsoft 3

1.4.2 directorio arc 4

1.4.3 directorio bin 4

1.4 .4 Directorio doc 4

1.4.5 directorio ext 5

1.4.6 directorio lib 5

1.4.7 directorio lic 5

1.4.8 directorio res 5

1.4.9 directorio src 6

1.4.10 directorio tmp 6

1.5 Introducción a XML 6

1.6 Usar la compilación con Ant 7

1.7 Trabajar con código abierto 10

1.7.1 Aprender los conceptos básicos de los derechos de autor 10

1.7.2 Elegir una licencia 11

1.7.3 Cambiar el nombre del código modificado 12

1.7.4 ***Compartir el código fuente 13

1.8 Obtener recursos multimedia para el juego 13

1.8.1 Recursos de imágenes 13

1.8.2 Recursos de audio 14

1.9 Ejemplo básico 15

1.9.1 Modificar el código fuente 15

1.9.2 Modificar el archivo de compilación 26

1.10 Resumen 27

1.11 Referencias 27 2.1 Implementar como subprograma 28

2.1. 1 Implementar el método del ciclo de vida 28

2.1.2 Administrar subprocesos de animación de subprogramas 30

2.1.3 Leer archivos JAR 34

2.1.4 Usar complementos para actualizar clientes 36

2.1.5 Comprender las limitaciones 38

2.1.6 Firma de subprogramas 38

2.1.7 Almacenamiento en caché de subprogramas 39

2.2 Implementar como JAR ejecutable 39

2.2.1 Generar archivo de manifiesto 39

2.2.2 Proteger contra la inseguridad 40

2.3 Implementar con Java Web Start 40

2.3.1 Preparar archivos para la versión 41

2.3.2 Acceder al navegador predeterminado 43

2.3.3 Usar reflexión para enlaces dinámicos 46

2.4 Implementar múltiples subprogramas en un solo subprograma 47

2.4.1 MultiAppletStup 48

2.4.2 MultiAppletNews 50

2.4.3 Ciclo de vida 54

2.4.4 LifecycleWindowListener 54

2.4.5 MultiApplet 58

2.4.6 CroftSoftCollection 65

2.5 Resumen 67

2.6 Referencia Literatura 68 3.1 ComponentAnimator 69

3.1.1 Fase de actualización y dibujo 70

3.1.2 Definición de sprite 70

3.1.3 EjemploAnimator 71

3.2 RepaintCollector 73

3.2.1 Serialización de Swing 73

<

p>3.2.2 Problemas con la animación 73

3.2.3 RepaintCollector 75

3.2.4 SimpleRepaintCollector 75

3.2.5 BooleanRepaintCollector 77

3.2.6 CoalescingRepaintCollector 78

3.2.7 Otras implementaciones 81

3.3 LoopGovernor 81

3.3.1 Retraso fijo 82

3.3.2 Sincronización de velocidad de fotogramas 84

3.3.3 SamplerLoopGovernor 85

3.3.4 WindowedLoopGovernor 85

3.4 AnimatedComponent 90

3.5 Resumen 98

3.6 Referencias 98 4.1 Implementación de ComponentPainter 99

4.1.1 NullComponentPainter 99

4.1.2 ArrayComponentPainter 99

4.1. 101

4.1.4 SpacePainter 103

4.1.5 TilePainter 106

4.2 Implementación de ComponentUpdater 114

4.2.1 NullComponentUpdater 114

4.2.2 ArrayComponentUpdater 115

4.2.3 EdgeScrollUpdater 115

4.3 Implementación de ComponentAnimator 120

4.3.1 NullComponentAnimator 120

4.3.2 TileAnimator 120

4.3.3 FrameRateAnimator 122

4.3.4 CursorAnimator 126

4.4 Implementación de Sprite 131

4.4 .1 Sprite 131

4.4.2 AbstractSprite 132

4.4.3 IconSprite 135

4.4.4 BounceUpdater 137

4.4 .5 IconSequenceUpdater 141

4.5 Resumen 143 5.1 Imagen acelerada por hardware 144

5.1.1 Imagen 144

5.1.2 Imagen en búfer 145

5.1. 3 VolatileImage 145

5.1.4 Imagen automática 146

5.1.5 Imagen compatible 146

5.1.6 Algoritmo de almacenamiento en caché 149

5.2 Almacenamiento en búfer múltiple y subprocesos múltiples 150

5.3 Modo exclusivo de pantalla completa 160

5.3.1 Habilitar el modo de pantalla completa 160

5.3.2 FullScreenToggler 161

5.3.3 Configurar marco 165

5.3.4 Cambiar modo de visualización 165

5.3.5 DisplayModeL

ib 166

5.3.6 GraphicsDeviceLib 166

5.3.7 Antialiasing 167

5.3.8 BufferStrategyAnimatedComponent 168

5.3.9 FullScreenDemo 170

5.3.10 Preocupaciones sobre el uso del modo exclusivo 177

5.4 Resumen 177

5.5 Referencias 177 6.1 Formato de datos 178

6.1 .1 Serialización de objetos 178

6.1.2 Propiedades 181

6.1.3 XML 182

6.1.4 Imagen de mapa de mosaicos 190

6.1.5 Semillas aleatorias 193

6.2 Mecanismo de persistencia 195

6.2.1 Archivos de recursos JAR 196

6.2.2 Archivos del directorio de inicio del usuario 197

6.2.3 Persistencia JNLP 200

6.2.4 Persistencia del subprograma 203

6.2.5 Persistencia robusta 206

6.2 .6 Base de datos integrada 211

6.2.7 Persistencia del lado del servidor 212

6.3 Integridad de datos 214

6.3.1 Resumen de mensajes 214

6.3.2 Caché hash 215

6.4 Resumen 217

6.5 Referencias 217 7.1 Interfaz 218

7.2 Herencia 218

7.3 Objetivo Marte 221

7.4 Modelo-Vista-Controlador 221

7.4.1 Modelo 222

7.4.2 Herencia de interfaz múltiple 224

7.4.3 Vista 234

7.4.4 Controlador 240

7.5 MVC compuesto 243

7.5.1 Modelo compuesto 243

7.5.2 Vista compuesta 254

7.5.3 Controlador compuesto 260

7.5.4 Combinando los tres 260

7.6 Diseño basado en datos 264

7.6.1 AnimationInit 264

7.6.2 AnimatedApplet 265

7.7 Resumen 269

7.8 Referencias 269 8.1 Cartógrafo 271

p>

8.2 NodeInfo 272

8.3 AStar 273

8.4 AStarTest 279

8.5 SpaceTester 283

8.6 GridCartographer 283

8.7 GradientCartographer 286

8.8 TankConsole 289

8.9 TankOperator 290

8.10 StateSpaceNode 291

8.11 TankCartographer 292

8.12 DefaultTankOperator 293

8.13 PlayerTankOperator 297

8.14 Resumen 299

8.15 Referencia 300 9.1 Ejemplo de prueba 3

02

9.2 Código de cliente reutilizable 303

9.2.1 Codificador 304

9.2.2 Analizador 304

9.2.3 StreamLib 304

9.2.4 StringCoder 305

9.2.5 HttpLib 306

9.2.6 Cola 308

9.2.7 ListQueue 309

9.2.8 Loopable 312

9.2.9 Looper 313

9.2.10 HttpMessagePusher 315

9.3 Código de cliente específico del juego 318

9.4 Código reutilizable del lado del servidor 323

9.4.1 Servidor 323

9.4.2 HttpGatewayServlet 324

9.5 Código del lado del servidor específico del juego 327

9.6 WAR empaquetado 330

9.6.1 web.xml 330

9.6.2 build.xml 331

9.7 Resumen 332

9.8 Referencias 332 10.1 Programa de muestra de prueba 333

10.2 Código de cliente reutilizable 334

10.2.1 SerializableCoder 334

10.2.2 HttpMessagePoller 335

10.2.3 Consumidor 340

10.2.4 QueuePuller 340

10.2.5 HttpMessageClient 342

10.3 Código de cliente específico del juego 345

10.3.1 Solicitud 345

10.3.2 Solicitud abstracta 346

10.3.3 Solicitud de fuego 346

10.3.4 Solicitud de movimiento 347

10.3.5 ViewRequest 348

10.3.6 GameData 348

10.3.7 Sincronizador 350

10.3.8 NetController 354

10.3.9 NetMain 356

10.4 Código reutilizable del lado del servidor 357

10.4.1 XmlBeanCoder 358

10.4.2 SerializableLib 359

10.5 Código del lado del servidor específico del juego 360

10.5.1 GameInit 360

10.5.2 Player 362

10.5.3 NetGame 363

10.5.4 MarsServer 370

10.5.5 MarsServlet 376

10.6 Resumen 378

10.7 Referencias 378 11.1 Ejemplo de prueba 379

11.2 Código de cliente reutilizable 381

11.2.1 Autenticación 381

11.2.2 Id 381

11.2.3 Lon

gId 382

11.2.4 ModelId 383

11.2.5 SeriModelId 383

11.3 Código de cliente específico del juego 384

11.3. Solicitud 384

11.3.2 Solicitud coalesceable 384

11.3.3 ChatController 385

11.3.4 Respuesta 386

11.3.5 CreateUserConsumer 386

11.3.6 Evento 387

11.3.7 ChatClient 387

11.3.8 ChatSynchronizer 393

11.3.9 ChatPanel 395

p>

11.3.10 ChatApplet 398

11.4 Código del lado del servidor 400

11.4.1 Usuario 400

11.4.2 UserStore 401

11.4.3 PullServer 402

11.4.4 MoveServer 403

11.4.5 SeriChatGame 404

11.4.6 ChatServer 409

11.5 Seguimiento de mensajes 411

11.5.1 Modo multijugador en línea 412

11.5.2 Modo local para un jugador 413

11.6 Ejemplo ampliado 414

11.7 Resumen 414

11.8 Referencias 415 Apéndice A Índice de código fuente 416

Apéndice B Introducción a CVS 420

B.1 Código de pago 420

B.2 Crea tu propio proyecto 421

B.3 Programación paralela 423

B.3.1 Implementa la propiedad del código 423

B .3.2 Monitorearse mutuamente 424

B.3.3 Crear sucursales 425

B.4 Referencias 425