Problem mit Schneeflocken

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Sterbendes Lüftlein

Betreff: Problem mit Schneeflocken

BeitragSo, Dez 12, 2010 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

darth

BeitragSo, Dez 12, 2010 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

du kannst die Types nicht über den Variabelnamen trennen.

BlitzBasic: [AUSKLAPPEN]
For xi= 1 To 1000
Flocke.schnee = New schnee
Next

For ti = 1 To 1000
Flocke2.schnee = New schnee
Next

For Flocke.schnee = Each schnee
Flocke\x = Rnd(1280)
Flocke\y = Rnd(-20,-50)
Flocke\speed = Rnd(1,20)
Next

For Flocke2.schnee = Each schnee
Flocke2\x = Rnd(1280)
Flocke2\y = Rnd(-20,-50)
Flocke2\speed = Rand(1,10)
Next


ist vollkommen äquivalent zu

BlitzBasic: [AUSKLAPPEN]
For i=1 To 2000
vollkommenEgal.Schnee = New Schnee
...
Next

For egalWasHierSteht.Schnee = Each Schnee
...
Next


Sätmliche neuen Schnee-Types werden in eine doppelte LinkedList eingetragen und beim for-each gehst du die komplette Liste durch. Du kannst das nicht voneinander abkapseln.

MfG,
Darth
Diese Signatur ist leer.
 

Sterbendes Lüftlein

BeitragSo, Dez 12, 2010 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Dez 12, 2010 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
WritePixelFast ist deutlich schneller als Plot

Siehe folgenden Code: [AUSKLAPPEN]
Graphics 1280,1024,0,2
SetBuffer BackBuffer()
SeedRnd MilliSecs()

TTimer = CreateTimer(58)

Type schnee
   Field x#
   Field y#
   Field speed#
End Type

For xi= 1 To 100000
   Flocke.schnee = New schnee
Next

For Flocke.schnee = Each schnee
   Flocke\x = Rnd(1279)
   Flocke\speed = Rnd(1,10)+Rnd(1,10)
Next

Repeat
   Cls
   FlushMouse
   
   LockBuffer BackBuffer()
   For Flocke.schnee = Each schnee
      WritePixelFast Flocke\x,Flocke\y,-1
   Next
   UnlockBuffer BackBuffer()
   
   For Flocke.schnee = Each schnee
      Flocke\y = Flocke\y + Flocke\speed
      If Flocke\y>1023 Then Flocke\y=Flocke\y-1023
   Next
   
   Flip 0
   
   WaitTimer TTimer
Until KeyHit(1)

End
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Sterbendes Lüftlein

BeitragSo, Dez 12, 2010 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

mpmxyz

BeitragSo, Dez 12, 2010 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Du darfst mit WritePixelFast nicht außerhalb des Bildschirmes zeichnen. (Wenn du zu faul für eine Abfrage bist, sollte WritePixel immer noch schnell genug sein.)
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
 

Sterbendes Lüftlein

BeitragSo, Dez 12, 2010 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group