Bei Debugger(Off) läuft das Programm nicht richtig.Warum ?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

LordArtus

Betreff: Bei Debugger(Off) läuft das Programm nicht richtig.Warum ?

BeitragFr, Apr 28, 2006 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe folgendes Problem und komme nicht auf die Lösung:
Bei eingeschalteten Debugger läuft das Programm richtig (d.h. bei mir ca. mit 340 FPS und Kollisionsabfrage).Ist der Debugger ausgeschaltet läuft das Programm falsch ab (d.h. 85FPS (gleich der Wiederholfrequenz meines Monitors in der Auflösung) und keine Kollisionsabfrage).
Würde gerne wissen ob es sich um ein Bug vom Blitzbasic handelt oder muss ich etwas in mein Programm extra einbauen damit es richtig läuft ? (aber komisch , dass es mit aktivierten Debugger richtig läuft)
Würde mich sehr freuen , wenn mir jemand helfen könnte.
Danke im Vorraus.

Hier das Listing:

Code: [AUSKLAPPEN]
Graphics 1280,1024

;ShowPointer

SeedRnd MilliSecs()

;Wieviele Punkte sollen gezeichnet werden (anz=Anzahl+1)

anz=1000

;Feld anlegen

Dim tx#(anz),ty#(anz),txz#(anz),tyz#(anz),rgb1(anz)

;Startposition der Punkte (Zufällig)

For a=0 To anz

   tx#(a)=Rand(6,1272)
   ty#(a)=Rand(6,1016)

   ;Geschwindigkeit und Richtung der Punkte (Zufällig)

   txz#(a)=Rnd#(0.01,2)
   tyz#(a)=Rnd#(0.01,2)
   
   ;Pixelfarbe (am Anfang Weiss)

   rgb1(a)=$ffffff

Next

;Textfarbe

Color 0,255,255

;Variablen für FPS-Berechnung

z=MilliSecs()
zi=0
zii=0

;Hauptschleife

While Not KeyHit(1)
   
   ;FPS berechnen
   
   zi=zi+1
   timer=MilliSecs()
   
   If (timer-z)>999 Then
      zii=zi   
      zi=0
      z=MilliSecs()
   EndIf

   ;-----------------
   
   Cls
   
   ;Punkte zeichnen
   
   LockBuffer BackBuffer()
   
   For a=0 To anz
   
      If tx#(a)>1272 Or tx#(a)<6 Then
         txz#(a)=-txz#(a)
      EndIf
   
      If ty#(a)>1016 Or ty#(a)<6 Then
         tyz#(a)=-tyz#(a)
      EndIf
      
      tx#(a)=tx#(a)+txz#(a)
      ty#(a)=ty#(a)+tyz#(a)
      
      WritePixelFast Int(tx#(a)),Int(ty#(a)),rgb1(a)
      
   Next
   
   UnlockBuffer BackBuffer()
   
   ;FPS Ausgeben
   
   Text MouseX(),MouseY(),"Punkteanzahl: "+anz
   Text 0,0,"FPS: "+zii
   
   ;Wenn Kollision (mit ReadPixelFast) , dann Richtung und Farbe ändern
      
   LockBuffer BackBuffer()
   
   For b=0 To anz
      
      rgbr1=ReadPixelFast(Int(tx#(b)+txz#(b)),Int(ty#(b)+tyz#(b)))
      
      If rgbr1=$ffffff Or rgbr1=$ff2222 Then
         
         ;Wenn Pixel Weiss , dann in Rot ändern
         
         If rgbr1=$ffffff Then
            rgb1(b)=$ff2222
         EndIf
         
         ;Wenn Pixel Rot , dann in Weiss ändern
         
         If rgbr1=$ff2222 Then
            rgb1(b)=$ffffff
         EndIf
         
         ;Richtung ändern
         
         If txz#(b)<0 Then
            txz#(b)=Rnd#(0.01,2)
         Else
            txz#(b)=-(Rnd#(0.01,2))
         EndIf
         
         If tyz#(b)<0 Then
            tyz#(b)=Rnd#(0.01,2)
         Else
            tyz#(b)=-(Rnd#(0.01,2))
         EndIf
         
      EndIf
      
   Next
   
   UnlockBuffer BackBuffer()
   
   ;---------------------------------------------------------------------
   
   Flip
      
Wend

End

BtbN

BeitragFr, Apr 28, 2006 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Das nennt sich VSync und ist durchaus sinnvoll, da sonst häßliche Verzehr Effekte entstehen können.
Aber um es abzuschalten benutz "Flip 0" anstatt einfach nur "Flip".
Das schaltet VSync ab, allerdings würd ich dir empfhelen, es an zu lassen, wo ist denn das Problem dabei?

Das mit der Kollision ist allerdings seltsam, da hab ich keine Ahnung, denn eigentlich hat das nix mit der FPS-Rate zu tun(Es sei denn, man hat sehr unsauberes zeug gemacht).

LordArtus

BeitragFr, Apr 28, 2006 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht nicht um die FPS sondern um die Kollisionsabfrage und ob die was mit dem VSync zu tun haben könnte.

LordArtus

Betreff: Re: Bei Debugger(Off) läuft das Programm nicht richtig.Warum

BeitragFr, Apr 28, 2006 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Also nochmal , mit eingeschalteten Debugger läuft das Programm richtig , sonst aber nicht.
 

Dreamora

BeitragFr, Apr 28, 2006 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenns im Debugger geht und sonst nicht, so würde ich drauf tippen, dass du versuchst mit den Pixelbefehlen ausserhalb der Buffergrösse zu malen, die von 0 - graphicswidth()-1 und 0 - graphicsheight()-1 geht (nicht bis graphicsheight() / width() wie häufig fälschlich angenommen wird)

Der Debugger lässt das zu und würde bei einem fehler abbrechen (allerdings läuft er so langsam, dass er wohl nicht soweit kommt).

in retail wird der debugger das allerdings nicht mehr akzeptieren.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

LordArtus

BeitragFr, Apr 28, 2006 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Habs überprüft , das Zeichnen der Pixel kommt nicht aus den Grenzen raus (das ist mir bekannt , dass es auch überhaupt nicht läuft).
Das Programm läuft bei ausgeschaltetem Debugger schon,bloss es findet keine Kollision statt (d.h. die Pixel prallen nicht von einander ab und es ändert sich die Farbe auch nicht)

das ist der ausschnitt der bei ausgeschalteten Debugger nicht ausgeführt wird.

Code: [AUSKLAPPEN]
;Wenn Kollision (mit ReadPixelFast) , dann Richtung und Farbe ändern
      
   LockBuffer BackBuffer()
   
   For b=0 To anz
      
      rgbr1=ReadPixelFast(Int(tx#(b)+txz#(b)),Int(ty#(b)+tyz#(b)))
      
      If rgbr1=$ffffff Or rgbr1=$ff2222 Then
         
         ;Wenn Pixel Weiss , dann in Rot ändern
         
         If rgbr1=$ffffff Then
            rgb1(b)=$ff2222
         EndIf
         
         ;Wenn Pixel Rot , dann in Weiss ändern
         
         If rgbr1=$ff2222 Then
            rgb1(b)=$ffffff
         EndIf
         
         ;Richtung ändern
         
         If txz#(b)<0 Then
            txz#(b)=Rnd#(0.01,2)
         Else
            txz#(b)=-(Rnd#(0.01,2))
         EndIf
         
         If tyz#(b)<0 Then
            tyz#(b)=Rnd#(0.01,2)
         Else
            tyz#(b)=-(Rnd#(0.01,2))
         EndIf
         
      EndIf
      
   Next
   
   UnlockBuffer BackBuffer()
   
   ;---------------------------------------------------------------------


das wollte ich auch wissen , warum es nicht ausgeführt wird.

d-bug

BeitragFr, Apr 28, 2006 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Das erste was bei mir passiert, wenn ich deinen Code starte ist ein MAV.
Der wird nur verhindert, wenn ich sowohl ql:Readpixelfast als auch ql:Writepixelfast auskommentiere. Das deutet doch massiv darauf hin, daß etwas mit deiner Koordinatenberechnung nicht stimmen kann.

Leider ist der Fehler den Dreamora beschrieb nicht bei jedem gleich. Nicht jeder Rechner verursacht einen MAV, wenn man außerhalb des Bildschirms versucht Pixel zu setzen. Dieses Phenomen hatte ich selbst häufig genug. Bei mir lief es einwandfrei und andere beschwerten sich über Abstürze.

Ein weiterer Tip von mir : Speichere dir doch bitte die Auflösung in Variablen und benutze diese für deine Dimensionierungen. Mußte doch viel ändern um meinen Rechner, der deine Auflösung nicht unterstützt, vorm Tod durch Bildschirmauflösung zu bewahren.

cheers

LordArtus

BeitragFr, Apr 28, 2006 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke sehr , dass Du Dir den Code genau angeschaut hast.
Zu dem Tip gebe ich Dir 100% Recht , aber hatte das Programm eigentlich ziemlich schnell geschrieben , weil wollte nur die Geschwindigkeit vom BlitzBasic testen.
MAV (weiss nicht was es heisst,aber weiss was du meinst Wink )
Also zu der Berechnung der Koordinaten bin ich ziemlich sicher , dass die keine Grenzbereichsverletzung aufweisen.(Könnte natürlich sein , dass die Grenzen auf verschiedenen Grafikkarten etwas anders sind,ist mir aber nicht bekannt)
Man kann es austesten in dem man bei "Startposition der Punkte (Zufällig)" die Werte ändert:
tx#(a)=Rand(6,1272) auf zb. Rand(10,1268)
und
ty#(a)=Rand(6,1016) auf zb. Rand(10,1012)
und in der For Schleife , die Zuständig ist für das zeichnen der Pixel ist:

LockBuffer BackBuffer()

For a=0 To anz

If tx#(a)>1272 Or tx#(a)<6 Then ;ändern in If tx#(a)>1268 Or tx#(a)<10 Then
txz#(a)=-txz#(a)
EndIf

If ty#(a)>1016 Or ty#(a)<6 Then ;ändern in If ty#(a)>1012 Or ty#(a)<10 Then
tyz#(a)=-tyz#(a)
EndIf

tx#(a)=tx#(a)+txz#(a)
ty#(a)=ty#(a)+tyz#(a)

WritePixelFast Int(tx#(a)),Int(ty#(a)),rgb1(a)

Next

UnlockBuffer BackBuffer()

bloss bei mir kommt kein MAV sowohl in Debugger Modus wie auch im Normalen Modus.Der Unterschied ist nur wie schon oben erwähnt: im Debugger Modus läuft alles richtig ab
im Normalen Modus wird VSync eingeschaltet und die Kollisionsabfrage wird umgangen.
Und das ist ziemlich komisch meiner Meinung nach.
Kann es wirklich an der Koordinatenberechnung liegen ???????????

LordArtus

BeitragFr, Apr 28, 2006 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wegen den MAV:
Es sei denn natürlich auch (habe schon etwas im Forum darüber gelesen),
dass etwas mit "Rand" nicht stimmt.

d-bug

BeitragFr, Apr 28, 2006 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Also erstmal zum Thema MAV : MAV = Memory Access Violation

So, jetzt muß ich mal kurz den Moderator raus hängen lassen ... *räusper* ... Es wäre nett, wenn du nicht immer doppelt posten würdest, sondern den netten kleinen Edit-Button (user posted image) benutzen würdest...

Ansonsten fällt mir für dein Problem leider keine Lösung ein.

cheers

LordArtus

BeitragFr, Apr 28, 2006 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Bemühe mich auf jeden Fall , die Regeln im Forum einzuhalten , war keine Absicht mit dem doppelten Eintrag (Danke für den Hinweis mit dem Edit-Button , werde mich dran halten.)

Eine Frage hätte ich noch , was macht das Programm genau bei Euch (natürlich , wenn kein MAV kommt ) ?
Vielleicht komme ich dann selber auf die Lösung und wenns jemanden interresieren würde , würde ich es auch posten.
Meine Vermutung liegt an bestimmten Grafikkarteneinstellungen , die man mit BlitzBasic nicht ändern kann.

hier nochmal ne Übersichtlichere Version:

Code: [AUSKLAPPEN]
;Auflösung setzen (wegen Übersichtlichkeit)

x=1280
y=1024

Graphics x,y

;MAXGeschwindigkeit der Pixel

geschw=2

;Ränder setzen (bitte nicht kleiner als MAXGeschwindigkeit*2 "zur Sicherheit *3")

x1=6
y1=6

SeedRnd MilliSecs()

;Wieviele Punkte sollen gezeichnet werden (anz=Anzahl+1)

anz=10000

;Feld anlegen

Dim tx#(anz),ty#(anz),txz#(anz),tyz#(anz),rgb1(anz)

;Startposition der Punkte (Zufällig)

For a=0 To anz

   tx#(a)=Rand(x1,x-x1-1)
   ty#(a)=Rand(x1,y-y1-1)

   ;Geschwindigkeit und Richtung der Punkte (Zufällig)

   txz#(a)=Rnd#(0.01,geschw)
   tyz#(a)=Rnd#(0.01,geschw)
   
   ;Pixelfarbe (am Anfang Weiss)

   rgb1(a)=$ffffff

Next

;Textfarbe

Color 0,255,255

;Variablen für FPS-Berechnung

z=MilliSecs()
zi=0
zii=0

;Hauptschleife

While Not KeyHit(1)
   
   ;FPS berechnen
   
   zi=zi+1
   timer=MilliSecs()
   
   If (timer-z)>999 Then
      zii=zi   
      zi=0
      z=MilliSecs()
   EndIf

   ;-----------------
   
   Cls
   
   ;Punkte zeichnen
   
   LockBuffer BackBuffer()
   
   For a=0 To anz
   
      If tx#(a)>(x-x1-1) Or tx#(a)<x1 Then
         txz#(a)=-txz#(a)
      EndIf
   
      If ty#(a)>(y-y1-1) Or ty#(a)<y1 Then
         tyz#(a)=-tyz#(a)
      EndIf
      
      tx#(a)=tx#(a)+txz#(a)
      ty#(a)=ty#(a)+tyz#(a)
      
      WritePixelFast Int(tx#(a)),Int(ty#(a)),rgb1(a)
      
   Next
   
   UnlockBuffer BackBuffer()
   
   ;FPS Ausgeben
   
   Text MouseX(),MouseY(),"Punkteanzahl: "+anz
   Text 0,0,"FPS: "+zii
   
   ;Wenn Kollision (mit ReadPixelFast) , dann Richtung und Farbe ändern
      
   LockBuffer BackBuffer()
   
   For b=0 To anz
      
      rgbr1=ReadPixelFast(Int(tx#(b)+txz#(b)),Int(ty#(b)+tyz#(b)))
      
      If rgbr1=$ffffff Or rgbr1=$ff2222 Then
         
         ;Wenn Pixel Weiss , dann in Rot ändern
         
         If rgbr1=$ffffff Then
            rgb1(b)=$ff2222
         EndIf
         
         ;Wenn Pixel Rot , dann in Weiss ändern
         
         If rgbr1=$ff2222 Then
            rgb1(b)=$ffffff
         EndIf
         
         ;Richtung ändern
         
         If txz#(b)<0 Then
            txz#(b)=Rnd#(0.01,geschw)
         Else
            txz#(b)=-(Rnd#(0.01,geschw))
         EndIf
         
         If tyz#(b)<0 Then
            tyz#(b)=Rnd#(0.01,geschw)
         Else
            tyz#(b)=-(Rnd#(0.01,geschw))
         EndIf
         
      EndIf
      
   Next
   
   UnlockBuffer BackBuffer()
   
   ;---------------------------------------------------------------------
   
   Flip 0
      
Wend

End

BladeRunner

Moderator

BeitragFr, Apr 28, 2006 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm. Bei mir gabs immer einen MAV.
Fehler den ich entdecken konnte: Du initialisierst mit Graphics, sperrst dann den Backbuffer - aber da kein setbuffer backbuffer() in Deinem Code ist, versucht er mit Writepixelfast auf den Frontbuffer zu schreiben.
Nach einfügen des Setbuffer backbuffer() lief das problem bei mir rund, zeichnete 10000 Punkte ein und lief mit immerhin 39 FPS bei flip 0, für die Masse an Read und Write nicht übel.

Hope it helps.

EDIT: ohne Debug sogar 80 FPS. Nur von Rotfärbung sah ich nirgends was.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

LordArtus

BeitragFr, Apr 28, 2006 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm , bei mir läufts ohne Setbuffer Backbuffer().

Genau um die Rotfärbung geht es mir.
Ist bei Dir die Rotfärbung im Debugger Modus da ?

d-bug

BeitragFr, Apr 28, 2006 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Jawoll, ich habs gefunden...

Was BladeRunner sagte stimmt durchaus. Du benutzt wahrscheinlich BlitzPlus, da brauchst du den Backbuffer nicht mehr manuell zu setzen. Bei B3D muß man dies allerdings noch machen. Hatte ich eben garnicht dran gedacht.

Jetzt zu den roten bzw. weißen Pixeln. füge mal vor all deinen Farbabfragen ein zusätzliches ff ein.

Code: [AUSKLAPPEN]
;        ...
;        ...
;        ...

   ;Pixelfarbe (am Anfang Weiss)

   rgb1(a)=$ffffffff

;        ...
;        ...
;        ...

      rgbr1=ReadPixelFast(Int(tx#(b)+txz#(b)),Int(ty#(b)+tyz#(b)))
     
      If rgbr1=$ffffffff Or rgbr1=$ffff2222 Then
         
         ;Wenn Pixel Weiss , dann in Rot ändern
         
         If rgbr1=$ffffffff Then
            rgb1(b)=$ffff2222
         EndIf
         
         ;Wenn Pixel Rot , dann in Weiss ändern
         
         If rgbr1=$ffff2222 Then
            rgb1(b)=$ffffffff
         EndIf
;        ...
;        ...
;        ...


Jetzt sollte es eigentlich funktionieren.

Seit ein paar Versionen liefert ql:ReadPixelFast auch den Alphawert mit zurück. Also besteht eine mit ql:ReadPixelfast ausgelesene Farbe nicht nur aus RGB, sondern aus ARGB !

Ich sollte mich dringend mal wieder mit den antiquierten BB Versionen beschäftigen. Das hätte mir alles viel früher auffallen müssen. BMax hat mich total verweichlicht Very Happy

cheers

LordArtus

BeitragSa, Apr 29, 2006 0:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Super !!!, jetzt gehts d-bug , allerdings mussman noch dazu Graphics x,y auf Graphics x,y,32,1 ändern , dann läufts einwandfrei.
Dankeeeeeeeeeeeeeeeeeeeeeee euch !!! , ihr seid echt Spitze.
*freu sehr*

Läuft aber jetzt viel langsamer (vorher 520FPS jetzt 79FPS) also bitte vielleicht Pixelanzahl auf 1000 reduzieren Wink

p.s. benutze nur die demoversion , war auch mein fehler , dass ich es nicht angesprochen habe Embarassed , werde aber höchstwahrscheinlich Vollversion kaufen , weil muss echt sagen , dass Blitzbasic sehr schnell ist.

Und hätte noch ne Frage , weil es gibt Blitz2d , Blitz3d , BlitzMax und BlitzPlus , welche ist die beste Version von Allen eurer Meinung nach ?

d-bug

BeitragSa, Apr 29, 2006 10:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kommt stark darauf an, welche Erfahrungen du schon hast, oder was du eigentlich machen willst...

Lies am besten erstmal diese Beschreibungen durch und entscheide dich dann. Wie du schnell erkennen wirst ist Blitz2D dort nicht mehr aufgeführt, denn es wird weder weiterentwickelt noch offiziell von BRL vertrieben. Ist also sozusagen eine tote Sprache.

cheers

LordArtus

BeitragSa, Apr 29, 2006 11:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke sehr.
Habe mir alles durchgelesen,denke BlitzMAX wird wohl das beste sein Wink

Hier nochmal das funktionierende Programm:

Code: [AUSKLAPPEN]
;Auflösung setzen

x=1280
y=1024

Graphics x,y,32,1

;Buffer setzen

SetBuffer BackBuffer()

;VSync 0=Aus 1=Ein

vsync=0

;MAXGeschwindigkeit der Pixel

geschw=2

;Ränder setzen (bitte nicht kleiner als MAXGeschwindigkeit*2 ( zur Sicherheit *3 ) )

x1=geschw*3
y1=geschw*3

;Wieviele Punkte sollen gezeichnet werden

anz=10000

;Felder für Variablen anlegen

Dim tx#(anz),ty#(anz),txz#(anz),tyz#(anz),rgb1(anz)

;Nach jedem Start neue Zufallswerte

SeedRnd MilliSecs()

;Startposition der Punkte (Zufällig)

For a=0 To anz-1

   tx#(a)=Rand(x1,x-x1-1)
   ty#(a)=Rand(x1,y-y1-1)

   ;Geschwindigkeit und Richtung der Punkte (Zufällig)

   txz#(a)=Rnd#(0.01,geschw)
   tyz#(a)=Rnd#(0.01,geschw)
   
   ;Pixelfarbe (am Anfang Weiss)

   rgb1(a)=$ffffffff

Next

;Textfarbe (Cyan)

Color 0,255,255

;Variablen für FPS-Berechnung

z=MilliSecs()
zi=0
zii=0

;Hauptschleife

While Not KeyHit(1)
   
   ;FPS berechnen
   
   zi=zi+1
   timer=MilliSecs()
   
   If (timer-z)>999 Then
      zii=zi   
      zi=0
      z=MilliSecs()
   EndIf

   ;-----------------
   
   Cls
   
   ;Punkte zeichnen
   
   LockBuffer BackBuffer()
   
   For a=0 To anz-1
   
      If tx#(a)>(x-x1-1) Or tx#(a)<x1 Then
         txz#(a)=-txz#(a)
      EndIf
   
      If ty#(a)>(y-y1-1) Or ty#(a)<y1 Then
         tyz#(a)=-tyz#(a)
      EndIf
      
      tx#(a)=tx#(a)+txz#(a)
      ty#(a)=ty#(a)+tyz#(a)
      
      WritePixelFast Int(tx#(a)),Int(ty#(a)),rgb1(a)
      
   Next
   
   UnlockBuffer BackBuffer()
   
   ;FPS Ausgeben
   
   Text MouseX(),MouseY(),"Punkteanzahl: "+anz
   Text 0,0,"FPS: "+zii
   
   ;Wenn Kollision (mit ReadPixelFast) , dann Richtung und Farbe ändern
      
   LockBuffer BackBuffer()
   
   For b=0 To anz-1
      
      rgbr1=ReadPixelFast(Int(tx#(b)+txz#(b)),Int(ty#(b)+tyz#(b)))
      
      If rgbr1=$ffffffff Or rgbr1=$ffff2222 Then
         
         ;Wenn Pixel Weiss , dann in Rot ändern
         
         If rgbr1=$ffffffff Then
            rgb1(b)=$ffff2222
         EndIf
         
         ;Wenn Pixel Rot , dann in Weiss ändern
         
         If rgbr1=$ffff2222 Then
            rgb1(b)=$ffffffff
         EndIf
         
         ;Richtung ändern
         
         If txz#(b)<0 Then
            txz#(b)=Rnd#(0.01,geschw)
         Else
            txz#(b)=-(Rnd#(0.01,geschw))
         EndIf
         
         If tyz#(b)<0 Then
            tyz#(b)=Rnd#(0.01,geschw)
         Else
            tyz#(b)=-(Rnd#(0.01,geschw))
         EndIf
         
      EndIf
      
   Next
   
   UnlockBuffer BackBuffer()
   
   ;---------------------------------------------------------------------
   
   Flip vsync
      
Wend

End

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group