Tipp 0238 DirectDraw - Regen
Autor/Einsender:
Datum:
  Alexander Csadek
21.05.2002
Entwicklungsumgebung:
DirectX-Version:
  VB 6
DirectX 7
Mit wenigen Zeilen zeigt dieser Tipp, wie man mit DirectDraw Regen in unterschiedlicher Regenmenge, Regentropenlänge und Geschwindigkeit realisieren kann. Hierzu wird einfach die DirectDraw-Funktion DrawLine verwendet.
Der abgebildete Code bezieht sich nur auf die Funktion Regen. Da u.a. der Code für die Initialisierung von DirectX meistens gleich bleibt, wird dieser hier nicht mehr gesondert abgebildet. Das Download-Beispiel enthält jedoch das komplette Projekt.
 
Option Explicit

Dim Regensetzen As Boolean

Private Type Regen
  x As Long
  y As Long
  Geschw As Single
End Type

Dim Regen(1000) As Regen
Dim Regenlänge As Integer
Dim RegenSpeed As Integer
Dim RegenAnzahl As Integer
Dim Eigenschaft As Single

Function Regnen(Anzahl As Integer, Geschwindigkeit As Integer)
  Dim x As Integer
  Dim y As Integer
  Dim z As Integer
  Dim I As Integer
  Dim x2 As Long

  If Regensetzen = False Then
    Randomize
    For I = 0 To Anzahl
      x = Rnd * 800
      y = Rnd * 600
      z = Rnd * Geschwindigkeit

      Regen(I).x = x
      Regen(I).y = y
      Regen(I).Geschw = z + Geschwindigkeit
      BackBuffer.SetForeColor vbWhite
      BackBuffer.DrawLine Regen(I).x, Regen(I).y, Regen(I).x, _
            Regen(I).y + Regenlänge
    Next I
    Regensetzen = True
  End If

  For I = 0 To Anzahl
    Regen(I).y = Regen(I).y + Regen(I).Geschw
    BackBuffer.DrawLine Regen(I).x, Regen(I).y, Regen(I).x, _
          Regen(I).y + Regenlänge
    If Regen(I).y > 600 Then
      x = Rnd * 800
      y = Rnd * 600
      z = Rnd * Geschwindigkeit

      Regen(I).x = x
      Regen(I).y = 0
      Regen(I).Geschw = z + Geschwindigkeit
      BackBuffer.DrawLine Regen(I).x, Regen(I).y, Regen(I).x, _
            Regen(I).y + Regenlänge
    End If
  Next I
End Function
 
Weitere Links zum Thema
Feuerwerk
Stars Hintergrund
Hinweis
Um dieses Beispiel ausführen zu können, wird die DirectX 7 for Visual Basic Type Library benötigt (siehe dazu die Erläuterungen in der DirectX-Rubrik).

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (172 kB) Downloads bisher: [ 2378 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Samstag, 3. September 2011