Buchempfehlung
Visual Basic 6 Kochbuch
Visual Basic 6 Kochbuch
Viele praktische Tipps zum Programmieren mit Visual Basic 6, die sich oft auch auf FB übertragen lassen. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

einfaches Partikelsystem: Starfly

Uploader:RedakteurVolta
Datum/Zeit:10.02.2008 13:25:44

'Starfly.bas - by Volta
'mit FB0.18.3 und FBEdit am 10.02.2008 erstellt

'einfaches Partikelsystem
Const As Integer n=200 'Anzahl Partikel

Type Particle
  x As Single     'Position x
  y As Single     'Position y
  vx As Single    'Geschwindigkeit x
  vy As Single    'Geschwindigkeit y
  life As Integer 'Lebensdauer
End Type
Dim part(n) As Particle
Dim As Integer breit, hoch

Screen 18, 32
ScreenInfo breit, hoch 'an Screenmodus anpassen
Randomize Timer

Do
  ScreenLock  'anzeigen sperren

  For i As Integer = 0 To n        'jeden Partikel
    With part(i)
      'PSet (.x, .y),0             'Partikel löschen
      Circle (.x, .y),Abs(.vx*.vy*8),0,,,,f

      If .life = 0 Or _            'erloschen oder
         .x > breit Or .x < 0 Or _ 'außerhalb des
         .y > hoch  Or .y < 0 Then 'Screens ?
        .vx = (Rnd-.5)             'dann neuer Partikel
        .vy = (Rnd-.5)*.75
        .life = (Rnd *800)+300
        .x = breit/2+(.vx*50)
        .y = hoch/2+(.vy*50)
      Else
        .life -= 1                 'sonst neue Position
        .x = .x +.vx               'berechnen
        .y = .y +.vy
        .vx *= 1.001
        .vy *= 1.001
      End If

      'PSet (.x, .y),-1             'Partikel zeichnen
      Circle (.x, .y),Abs(.vx*.vy*8),-.life,,,,f'schöner Effekt
    End With
  Next

  ScreenUnlock'anzeigen zulassen
  Sleep 1 'senkt CPU - Last
  ScreenSync  'anzeigen
Loop Until InKey = Chr(27)