sprite-prob

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Crayhole

Betreff: sprite-prob

BeitragSo, Mai 23, 2004 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
ich wollte zum ersten ma was mit sprites ausprobieren und hab jetzt einfach mal 50 sprites an zufälligen positionen erstellen, aber es werden irgendwie mehr als 50 stück, aber warum? Rolling Eyes
und warum hängt das dann s0?

Code: [AUSKLAPPEN]

Graphics3D 1024,786,16


SetBuffer BackBuffer()

cam1=CreateCamera()


While Not KeyDown(1)



Dim sprite(50)

For I=1 To 50

sprite(I)=CreateSprite()

SeedRnd MilliSecs()
x=Rand(1,70)
y=Rand(1,20)
PositionEntity sprite(I),x,y,15

Next

If KeyDown(208) Then MoveEntity cam1,0,0,-2




UpdateWorld
RenderWorld
Flip
Wend
End
Gewinnen ist nicht alles-so denken die Verlierer

Travis

BeitragSo, Mai 23, 2004 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm, du erstellst deine Sprites in der Hauptschleife. Das solltest du lieber einmal am Anfang machen.

Code: [AUSKLAPPEN]

raphics3D 800,600,16
SetBuffer BackBuffer()
SeedRnd MilliSecs()

cam1=CreateCamera()

Dim sprite(50)
 
 For I=1 To 50   
  x = Rnd(800)     ; PositionX
  y = Rnd(600)     ; PositionY 
  w = Rnd(20)       ; Breite
  h = Rnd(20)       ; Höhe
  x = (x*2)-800+w  ; 2D > 3D (thx to DC)
  y = -(y*2)+600-h ; 2D > 3D (thx to DC)
  sprite(I)=CreateSprite()
  ScaleSprite sprite(i), w,h
  PositionEntity sprite(I),x,y,800
  EntityColor sprite(i), Rnd(255), Rnd(255), Rnd(255)
 Next


While Not KeyDown(1)

 If KeyDown(208) Then MoveEntity cam1,0,0,-2

 UpdateWorld
 RenderWorld
 Flip

Wend
End
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.
 

Crayhole

BeitragSo, Mai 23, 2004 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
aber dann werden bei mir nur drei stück erstellt Shocked
warum?

Code: [AUSKLAPPEN]

Graphics3D 1024,786,16


SetBuffer BackBuffer()

cam1=CreateCamera()


Dim sprite(50)

For I=1 To 50

sprite(I)=CreateSprite()

SeedRnd MilliSecs()
x=Rand(1,70)
y=Rand(1,20)
PositionEntity sprite(I),x,y,15

Next






While Not KeyDown(1)




If KeyDown(208) Then MoveEntity cam1,0,0,-2




UpdateWorld
RenderWorld
Flip
Wend
End



isses so nicht richtig?
Code: [AUSKLAPPEN]
Gewinnen ist nicht alles-so denken die Verlierer

Suco-X

Betreff: .....

BeitragSo, Mai 23, 2004 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Tu das SeedRnd MilliSecs() über die For next schleife, nicht in die For next schleife. Sonst ist die Position Trotz Rand trotzdem immer gleich bei allen Sprites.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

Crayhole

BeitragSo, Mai 23, 2004 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie wird jetzt nach ner Zeit immer eins gelöscht? das funzt bei mir auch net Sad
Gewinnen ist nicht alles-so denken die Verlierer

Suco-X

Betreff: ......

BeitragSo, Mai 23, 2004 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
In die Schleife mit diesem Code :

Code: [AUSKLAPPEN]

If Rand(0,100) = 1
For i = 1 to 50
If Sprite(i)<>0
freeentity Sprite(i)
Sprite(i) = 0
exit
endif
next
endif



Ist jetzt aus dem Kopf, sollte aber klappen.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group