2 Fragen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

sbrog

Betreff: 2 Fragen

BeitragMo, Mai 31, 2004 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Type stern1
 Field x
 Field y
 Field speed
End Type


Graphics 800,600

For a= 0 To 100
star.stern1 = New stern1
star\x = Rnd(0,800)
star\y = Rnd(0,600)
star\speed = 2
Next
 

Repeat
Cls

For star.stern1 = Each stern1
   star\x =star\x- star\speed
   Plot   star\x,star\y
   If star\x<0
      Delete star.stern1
       star.stern1 = New stern1
       star\x=800
       star\y=Rnd(0,600)
   EndIf    
Next

Flip
Until KeyHit(1)



If star\x<0
Delete star.stern1
star.stern1 = New stern1
star\x=800
star\y=Rnd(0,600)
EndIf


1.hier sollte eigentlich, sobald ein Stern gelöscht wird, rechts ein neuer kommen, das tut er aber nciht. Wieso ?


Plot star\x,star\y

2. Wenn ich hier writepixel star\x,star\x,ffffff schreibe, bleibt der Bildschirm schwarz.



[/code]
 

Dreamora

BeitragMo, Mai 31, 2004 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
fffff is eine variable, kein hexwert
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Mr.Keks

BeitragMo, Mai 31, 2004 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
@1.: solltest dem stern vielleicht noch eine geschwindigkeit geben? Smile
@2.: tjo, du musst da noch ein $ vorsetzen.
MrKeks.net

sbrog

BeitragMo, Mai 31, 2004 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
stimmt, danke , mit $ffffff geht es dann Very Happy

Code: [AUSKLAPPEN]

Type stern1
 Field x
 Field y
 Field speed
End Type

For a= 0 To 100
star.stern1 = New stern1
star\x = Rnd(0,800)
star\y = Rnd(0,600)
star\speed = 2
Next


Graphics 800,600
SetBuffer BackBuffer()



Repeat
Cls

For star.stern1 = Each stern1
   star\x =star\x- star\speed
   WritePixel   star\x,star\y,$ffffff
   If star\x<0
      Delete star.stern1
       star.stern1 = New stern1
       star\x=800
       star\y=Rnd(0,600)
      star\speed=2
   EndIf    
Next

Flip
Until KeyHit(1)


so funzt es , aber es flackert gewaltig, und manche pixel sind schneller als die anderen .
Woran liegt das ?[/code]
 

Dreamora

BeitragMo, Mai 31, 2004 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
wozu löscht du den stern eigentlich

kannst ja direkt die position wieder auf 800 setzen ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

sbrog

BeitragMo, Mai 31, 2004 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
eigentlich schon, aber dann bleiben die y-positionen immer gleich...

Mr.Keks

BeitragMo, Mai 31, 2004 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
... die yposition könntest du dennoch neu bestimmen Wink
MrKeks.net

sbrog

BeitragMo, Mai 31, 2004 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

For star.stern1 = Each stern1
   star\x =star\x- star\speed
   WritePixel   star\x,star\y,$ffffff
   If star\x<0
     star\x = 800
     star\y = Rnd(0,600)
   EndIf   
Next


du meinst so ?
Komisch, aber das flackern ist weg. Wurden die fehler etwa nur durch das löschen und neuerstellen der types verursacht ?

Mr.Keks

BeitragMo, Mai 31, 2004 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, du musst beim erstellen neuer types innerhalb einer for-ech-next-schleife einen anderen namen für die pointervariable des types wählen, damit dennoch alle gezeichnet werden ... also z.b. so:

Zitat:
If star\x<0
Delete star.stern1
star2.stern1 = New stern1
star2\x=800
star2\y=Rnd(0,600)
star2\speed = 2
EndIf
MrKeks.net

sbrog

BeitragMo, Mai 31, 2004 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, damit wäre das geklärt
Danke Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group