Spiele Effektiv Programmieren Mit Vb.net Und Directx

by ;
Edition: CD
Format: Paperback
Pub. Date: 2004-12-06
Publisher(s): Springer-Nature New York Inc
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $41.99

Rent Textbook

Select for Price
There was a problem. Please try again later.

Rent Digital

Rent Digital Options
Online:30 Days access
Downloadable:30 Days
$10.80
Online:60 Days access
Downloadable:60 Days
$14.40
Online:90 Days access
Downloadable:90 Days
$18.00
Online:120 Days access
Downloadable:120 Days
$21.60
Online:180 Days access
Downloadable:180 Days
$23.40
Online:1825 Days access
Downloadable:Lifetime Access
$35.99
$23.40

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

Summary

VB.net bietet eine komfortable Plattform zur modernen objektorientierten Anwendungsentwicklung, und mittels DirectX steht dem VB-Programmierer die Welt der multimedialen Highspeed-Technologie zur Verfügung. Das vorliegende Buch gibt eine fundierte Einführung in die Programmierung unter DirectX. Die Darstellung dieser Technologie geht aber weit über die elementaren Grundlagen hinaus. Spezielle Effekte zur Programmierung von Computer-Spielen wie Explosionen, Lichteffekte und Mesh-Animationen werden im Detail vorgestellt. Ferner gehören zu einer vollständigen Multimedia-Anwendung auch Komponenten wie DirectSound, DirectAudioVideo, DirectInput oder DirectPlay, die hier fundiert abgehandelt werden. Mit Return from Orion wird schließlich das Design und die Implementierung eines kompletten Computer-Spiels vorgestellt. Hier erfährt der Leser viele Einsteiger-Tipps zum Design von Spielen und zur Performance-Optimierung sowie zu Spielfiguren und deren Künstlicher Intelligenz.

Table of Contents

Inhaltsverzeichnisp. IX
Die Buchstrukturp. 1
Was ist VB.NET?p. 3
Unterschiede zu Visual Basic 6p. 3
Rapid Application Developmentp. 4
Vererbungp. 4
Ausnahmebehandlungp. 4
Überladungp. 4
Overrides: Überschreiben von Methoden und Eigenschaftenp. 5
Konstruktoren und Destruktorenp. 6
Datentypenp. 6
Verweisep. 7
Namespacesp. 7
Assembliesp. 7
Multithreadingp. 7
Common Language Runtime (CLR)p. 7
Garbage Collectionp. 8
Die Entwicklungsumgebungen von VB.NETp. 11
Das Visual Studio .NETp. 13
Formdesignerp. 15
Werkzeugfensterp. 16
Eigenschaftenfensterp. 16
Projektexplorerp. 17
Pin-Nadel-Symbolp. 17
SharpDevelopp. 18
Code-Competion-Datenbankp. 18
Der erste Startp. 20
""""Hello World"""" das erste .NET-Programmp. 23
Ein einfaches Programm mit einem einfachen Editorp. 23
Der Sourcecodep. 23
Der Compilerp. 24
Ein Projekt im Visual Studio.NETp. 25
Variablenp. 29
Deklarationp. 30
Datentypen und Konstantenp. 30
Der richtige Datentypp. 32
Konstantenp. 34
Strukturenp. 37
Typensicherheitp. 38
Ermitteln des Variablentypsp. 41
Operatorenp. 43
Arithmetische Operatorenp. 43
Vergleichsoperatorenp. 45
Mit dem Gleich-Operator Werte zuweisen!p. 45
Verzweigungenp. 47
Verzweigungen oder Entscheidungen?p. 47
If-Then-Else-Anweisungp. 47
Notationsunterschiede!p. 50
Verschachtelungen oder ElseIf: ElseIfp. 50
Select-Case-Anweisungenp. 53
Schleifenp. 57
For-Next-Schleifep. 58
Do-Loop-Schleifep. 59
Endlosschleifenp. 62
While-End-While-Schleifep. 62
For-Each-Schleifep. 63
Arraysp. 67
Statische Arraysp. 67
Dynamische Arraysp. 68
GetUpperBoundp. 69
Mehrdimensionale Arraysp. 70
Funktionen und Subroutinenp. 73
Subroutinenp. 73
ByVal oder ByRefp. 75
Funktionenp. 75
Returnp. 76
Optionale Parameterp. 77
Rekursives Programmierenp. 78
Klassenp. 81
Was ist eine Klasse?p. 81
Nothingp. 82
Felderp. 83
Subroutinen und Funktionenp. 84
Eigenschaften: Propertyp. 86
Parameter in Propertiesp. 87
Eingeschränkte Propertiesp. 88
Enumerationen in Klassenp. 89
Eventsp. 90
Ein umfassendes Beispielp. 92
Erstellen der Klassep. 93
Klasse mit Daten füllenp. 95
Daten aus der Klasse lesenp. 95
Shared-Mitgliederp. 96
Vererbungp. 97
Overridesp. 99
MyBasep. 101
MustOverride und MustInheritp. 102
Namespacesp. 103
Namespaces ansprechenp. 104
Importsp. 104
Assembliesp. 107
Arbeitsweise von Assembliesp. 108
Shared Assemblyp. 108
Fehlerbehandlungp. 109
Try-Catch-Finally-Anweisungp. 109
Ausnahmebehandlung (Beispiel)p. 110
OnError-GoTo-Befehlp. 111
Was ist DirectXp. 113
Die Säulen von DirectXp. 113
Die Einsatzgebiete für DirectXp. 115
DirectX-Grundlagenp. 117
Das Koordinatensystemp. 117
Primitivesp. 119
Primitives rendernp. 121
Vorder- und Rückseitep. 125
Mein erstes DirectX-Programmp. 127
Ein Visual Studio .NET-Projekt erstellenp. 127
Direct3D-Device erzeugenp. 129
Rendernp. 131
Mein erstes Objekt im 3D-Raump. 135
Vertexbuffer erstellenp. 136
Vertexbuffer mit Objektdaten füllenp. 137
Vertexbuffer rendernp. 139
World-, View- und Projektionsmatrixp. 141
Worldmatrixp. 141
Viewmatrixp. 142
Projektionsmatrixp. 143
Device Enumerationp. 145
DXSettingsp. 145
Display-Adapterp. 148
Hardwarebeschleunigung (DeviceTyp)p. 149
Videomodusp. 150
Backbuffer-Formatp. 152
Z-Stencilbuffer-Format (Depth-Stencilbuffer-Format)p. 154
Multisample-Typp. 155
Vertex-Processingp. 157
DXSettings im praktischen Einsatzp. 159
Preset-Strukturp. 160
DXSettings initialisierenp. 162
Matrizenp. 165
Was ist eine Matrixp. 165
Einheitsmatrixp. 166
Additionp. 166
Subtraktionp. 166
Multiplikationp. 167
Division -.1p. 167
Berechnen der invertierten Matrix M-1p. 168
Transformationp. 169
Bewegt sich die Welt oder bewegt sich das Objekt?p. 170
Translation (Bewegung, Positionsveränderung)p. 170
Skalieren (Größenänderung)p. 171
Rotation (Drehung)p. 172
Grad vs Radiantp. 174
Beispielprogramm für Matrizenp. 175
Texturenp. 181
Texturkoordinatenp. 181
Kacheln einer Texturp. 183
Das passende Vertexformatp. 184
Größe einer Texturp. 185
Auslesen der maximalen Texturbreite und Höhep. 186
Laden einer Texturp. 186
Texturfilterp. 188
MinFilter und MagFilterp. 188
Nearest Point Samplingp. 188
Linearer Texturfilterp. 189
Anisotropic Filter (uneinheitlicher Filter)p. 189
Bilineare und uneinheitliche Filterungp. 190
Mipmapsp. 190
Beispielprogramm für Texturenp. 191
Ermitteln der maximalen Texturbreite und -höhep. 192
Erstellen des Vertexbuffersp. 193
Erstellen und Laden einer Texturp. 195
Rendernp. 196
Multitexturing (Multi Texture Mapping)p. 197
Mischparameterp. 198
Multi-Pass-Technik vs. Single-Pass-Technikp. 201
Texturkoordinaten, Vertexformat und Vertexbufferp. 202
Beispielprogramm für Multitexturingp. 204
Alpha-Textur-Blendingp. 211
Texturfaktorp. 211
Licht: Beleuchtungp. 213
Licht und Materialp. 214
Direct3D.Lightsp. 214
Normalvektorp. 215
Berechnung des Normalvektorsp. 217
Lichttypenp. 218
Ambient-Lightp. 219
Point-Lightp. 220
Directional-Lightp. 221
Spot-Lightp. 222
Welcher Lichttyp ist der beste?p. 224
Licht, Schatten und Polygonep. 225
Flat-Shadingp. 225
Gouraud-Shadingp. 226
Phong-Shadingp. 227
Licht und Polygonep. 227
Beispielprogramm für Licht und Polygonep. 228
Erstellen der Flächenp. 229
Erstellen der Lichterp. 232
Beispielprogramm für Lichttypenp. 234
Boden und Wände erstellenp. 236
Lichtquellen initialisierenp. 239
Licht und Meshp. 242
Beispielprogramm für Licht und Meshp. 243
Materialp. 245
Zusammenspiel zwischen Material und Lichtp. 245
Die Bestandteile des Materialsp. 246
Diffusep. 246
Ambientp. 247
Specularp. 247
Emissivep. 247
Material initialisieren und aktivierenp. 247
Beispielprogramm für Materialp. 248
Meshobjektep. 251
Erstellen eines Mesh-Objektesp. 252
Laden eines Mesh-Objektesp. 253
Darstellen eines Mesh-Objektesp. 255
Animation des Mesh-Objektes Frame-Animationp. 259
Prinzip der Frame-Animationp. 260
Timing bei der Frame-Animationp. 260
Mesh-Objekte: Tweening/Keyframe-Animationp. 263
Keyframe-Bestimmungp. 273
Keyframe-Interpolationp. 274
Keyframe rendernp. 278
Billboardingp. 281
Was sind Billboards?p. 281
Warum werden Billboards eingesetzt?p. 282
Schlechtes Billboardingp. 282
Gutes Billboardingp. 282
Berechnungsmethodenp. 283
Beispielprogramm für Billboardingp. 284
Textureoberfläche erstellenp. 285
Hauptspieleschleife erzeugenp. 286
Rendernp. 287
Wasserp. 291
Technik zum Erstellen der Wasseroberflächep. 292
Aufbau der Wasseroberfläche (Gittergerüst)p. 294
Wasseroberfläche erstellen (inkl. Wellen und Textur)p. 295
Schwimmende Kisten integrierenp. 297
Rendern Alpha-Blendingp. 298
Nebelp. 301
Was kann Nebel?p. 302
Berechnungsartenp. 302
Linear Fogp. 302
Exponential Fogp. 303
VertexFog oder Pixel-Fog/Table-Fogp. 304
Prüfungp. 305
Die wahre Tiefep. 306
Renderstatesp. 307
Beispielprogramm für Nebelp. 308
Erstellen der Straßep. 309
Einbinden der Meshes (Bäume und Auto)p. 310
Initialisierung des Nebelsp. 311
Rendernp. 312
Partikeleffektep. 315
Partikelstrukturp. 317
Zweidimensional vs. dreidimensionalp. 318
Partikelklassep. 320
Rendernp. 323
GUIp. 327
DirectSound: Modellp. 329
DirectSound-DeviceInformationp. 330
DirectSound-Devicep. 330
DirectSound-Bufferp. 331
DirectSound-3DBufferp. 332
Ausrichtung des 3DBuffersp. 333
DirectSound-3DListenerp. 334
Ausrichtung des 3DListenersp. 334
DirectSound-CaptureBufferp. 334
2DSound-Demop. 337
3DSound-Demop. 345
AudioVideoPlaybackp. 353
Ein Wort zu DirectMusicp. 353
AudioVideoPlayback generellp. 353
Audiop. 354
Videop. 358
DirectInputp. 361
Objekthierarchiep. 361
Geräteauflistungp. 362
Beispielprogrammp. 363
Eingabegeräte ermittelnp. 363
Objekte ermittelnp. 365
Kooperationsebenep. 367
Datenformatp. 368
Daten empfangenp. 368
Keyboard (Beispielprogramm)p. 369
Sourcecode-Beispiel 1p. 369
Sourcecode-Beispiel 2p. 370
Mausp. 374
Kooperationsebene anlegen und das Device erzeugenp. 375
Daten abfragenp. 376
Joystickp. 377
Angeschlossene Joysticks ermittelnp. 379
Akquirieren und Achseneigenschaften festlegenp. 380
Daten abfragenp. 380
First-Person-Camerap. 383
Variablen und Strukturen definierenp. 384
Erzeugen der DirectInput-Devicesp. 385
Maus- und Tastaturdaten empfangenp. 386
Maus- und Tastaturdaten auswertenp. 387
DirectPlayp. 391
Service-Providerp. 392
Wie ist eine Peer-to-Peer Verbindung aufgebaut?p. 393
Erstellen einer GUIDp. 394
Hostp. 395
Playerp. 395
Host suchenp. 396
Player erstellen und an der Session anmeldenp. 398
Senden von Datenp. 398
Empfangen von Datenp. 399
Beispielprogramm: Simple Chatp. 400
Kommunikationsmodellep. 402
Peer-to-Peer-Sessionp. 402
Client/Server-Sessionp. 402
Sicherheitp. 402
Das Spiel: Return From Orionp. 405
Erste Gedanken zum Spielp. 406
Von der ersten Spielidee zu einem Konzeptp. 406
Der Entwicklungsprozess oder die Arbeit vor der Arbeitp. 408
Festlegung des Spielprinzips/Spielablaufsp. 408
Die Storyline - eine Geschichte entstehtp. 409
Festlegen des Designs mit Designstudienp. 410
Das Konzept des Spielsp. 411
Das Projekt startetp. 413
Erstellen der ersten Objektep. 413
Erstellen des Basis-Devices für das Projektp. 415
Eine Welt erschaffenp. 419
Die Theorie des Spielfeldesp. 419
Das Spielfeld in der Praxisp. 420
Spielfelddaten auslesenp. 421
Performance-Steigerung im Spielfeldp. 424
Das Spielfeld erstellenp. 426
Die Bitmaskep. 427
Das Spielfeld rendernp. 428
Skydome: Die Begrenzung der Spielweltp. 432
Die Spielfigurp. 435
Die Techniken der Spielfigurp. 436
Bewegungsablauf - Animation der Spielfigurp. 436
Bewegung der Spielfigurp. 440
Relative Bewegungen im Spielp. 441
Logik der Bewegungp. 443
Drehung der Spielfigurp. 446
Laufen der Spielfigurp. 448
Einfügen der Tastaturabfragep. 451
Einfügen des Kameramodulsp. 457
Gegner: Computergesteuerte Elementep. 461
Arten von Gegnernp. 461
Festgelegte Bewegungen und Aktionenp. 461
Intelligente Bewegungen und Aktionenp. 462
Intelligente Bewegungen, Aktionen und Kommunikationp. 463
Einfügen der Gegner in """"Return From Orion""""p. 464
Künstliche Intelligenzp. 471
Was ist künstliche Intelligenz?p. 471
Menschlich handelnp. 472
Menschlich denkenp. 472
Rational denkenp. 473
Rational handelnp. 473
KI in Computerspielenp. 473
KI in """"Return From Orion""""p. 474
Random-Strategiep. 476
Vertikale Strategiep. 478
Horizontale Strategiep. 482
Änderung der KI-Strategiep. 485
Kollisionp. 487
Kollision in DirectXp. 487
BoundingBoxp. 487
BoundingSpherep. 488
Feintuningp. 489
Kollision im Spielp. 490
Soundeffektep. 493
Abschließende Funktionenp. 497
Statusanzeigen erstellen und integrierenp. 497
Splash-Screensp. 502
Kamerafahrt am Anfang jedes Levelsp. 504
Framerate begrenzenp. 506
Leveleditorp. 509
Zeichnen des Spielfeldesp. 510
Editieren der Spielfelddatenp. 513
Steuerelemente des Leveleditorsp. 518
Das Programm-Menüp. 524
Level neu erstellenp. 524
Level ladenp. 526
Level speichernp. 527
Direkt Zugriff auf ein Levelp. 527
Spielfeld umrandenp. 529
Dynamische Objekte einfügen: Randomp. 530
Hilfsfunktionenp. 531
Fragen und Antworten zu VB.NETp. 535
Fragen und Antworten zu DirectXp. 541
Fragen und Antworten zu Texturenp. 542
Glossarp. 545
Anhangp. 549
Datentypenp. 549
Indexp. 551
Table of Contents provided by Publisher. All Rights Reserved.

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.