Sehe leider keine Sterne...

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Gast

Betreff: Sehe leider keine Sterne...

BeitragMo, Jun 07, 2004 19:06
Antworten mit Zitat
Moin !

Ich probiere seit ein paar Tagen mit Blitz3D herum und muß sagen es macht echt Spaß !
Ich habe angefangen einige einfache grafische Programme von Pascal und Delphi für BB umzusetzen, teilweise mit Erfolg, in diesem Fall leider nur mäßig.

Das allseits beliebte (oder auch nicht...) Sternenfeld.
Ich kriege das Programm mit WritePixelFast nicht zum laufen Sad
Plot funktioniert ohne Probleme.
Hier mal der Code :

Code: [AUSKLAPPEN]

AppTitle "Starfield"

Const ResX=800
Const ResY=600
Const HalfX=ResX / 2
Const HalfY=ResY / 2
Const MaxZ=255
Const NumStars=1000


Graphics ResX,ResY,16,2
SetBuffer BackBuffer()
SeedRnd MilliSecs()


Type TStar
Field x#,y#,z#
End Type


Global x2,y2,Spd#


Function RGB(r,g,b)
Return r*$10000+g*$100+b
End Function

Function Erzeugen()
 For i=1 To NumStars
  s.TStar=New TStar
  s\x = Rnd(-ResX,ResX)
  s\y = Rnd(-ResY,ResY)
  s\z = Rnd(0,MaxZ)
 Next
End Function


Function Zeichnen()
LockBuffer BackBuffer()
 For s.TStar=Each TStar
 
  x2 = 80 * s\x / s\z + HalfX
  y2 = 80 * s\y / s\z + HalfY
  s\z = s\z - Spd

  If s\z > 0 Then
   tmp=255 - s\z
   ;Color tmp,tmp,tmp
   ;Plot x2,y2
   WritePixelFast x2,y2,rgb(tmp,tmp,tmp)
  Else
   s\x = Rnd(-ResX,ResX)
   s\y = Rnd(-ResY,ResY)
   s\z = Rnd(0,MaxZ)
  End If

 Next
UnlockBuffer BackBuffer()
End Function


spd=1
Erzeugen
Repeat
Cls
Zeichnen
If KeyHit(27) Then spd=spd + 0.1
If KeyHit(53) Then spd=spd - 0.1
Flip
Until KeyHit(1)
End


Wäre nett wenn mir jemand helfen könnte.

Vielen Dank und Mfg

Doc
 

Ensign Joe

BeitragMo, Jun 07, 2004 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Memory Access Violation Laughing
 

Edlothiol

BeitragMo, Jun 07, 2004 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Teste, bevor du WritePixelFast benutzt, vorher, ob die Koordinaten auf dem Bildschirm liegen. Wenn du mit WritePixelFast versuchst, ausserhalb des Bildschirms zu zeichnen, gibt das meist einen Fehler.
Alternative: WritePixel, da ist der Test eingebaut.
 

zocker2150

BeitragMo, Jun 07, 2004 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
seh ich auch so benutz mal den debuger da stimmt was mit deinen x2 und y2 variablen net die werden auch negativ.
 

Gast

BeitragMo, Jun 07, 2004 20:10
Antworten mit Zitat
Danke für die schnellen Antworten ! Smile

"Memory Accres Violation"
ich wusste doch ich hatte vergessen etwas zu erwähnen... Shocked

.......

So, jetzt mal mit Test (x2 >= 0 ) and (x2 <= ResX) etc. probiert.
Es geht!!! Very Happy Very Happy Very Happy

Geil, geil, geil, und sauschnell...
Selbst mit 25000 Sternen

Vielen Dank und bis demnächst

Doc

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group