3D Schneeflocken
Übersicht

![]() |
SparxBetreff: 3D Schneeflocken |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab fuer ein eigenes Project 3D Schneeflocken entwickelt. Ich weisz, dass das aussehen der Schneeflocken noch deutlich verbessert werden muss und wenn einer von euch eine schneeflocke designed hat, bitte hier posten. Jetzt zum Code:
Das ganze hinter der initialisierung vom 3D Graphics mode BlitzBasic: [AUSKLAPPEN]
Einfach vorher kurz CreateSnow(x) wobei x die anzahl der Flocken ist. Und dann noch einfach vor jedem RenderWorld ein UpdateSnow, Fertig! [EDIT] Hier noch ein kleiner Screenshot: ![]() [/EDIT] |
||
User posted image |
Heiko |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hab grad versucht, das in eine andere sprache zu konvertieren, aber irgendwie hängt es damit : GLOBAL snowtex = CreateSnowtex()
weil ja snowtex auch in dieser Funktion drin vorkommt. irgendeine idee, wie man das umgehen kann? |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funzt iwie net :
Code: [AUSKLAPPEN] Graphics3D 800,600,16,1
SetBuffer BackBuffer() Global snowtex = CreateSnowTex() Type Flokke Field x# Field y# Field z# Field ys# Field sprite Field active% End Type ; ; ; ; ; ; ; ; ; ; Global CAM = CreateCamera() CameraRange Cam,0.1,1000 CreateSnow(10000) Repeat UpdateSnow(CAM) RenderWorld() Flip Until KeyHit(1) End Function CreateSnowtex() snowtex=CreateTexture(16,16) gbuff = GraphicsBuffer() SetBuffer TextureBuffer(snowtex) Color 255,255,255 Oval 0,0,16,16 SetBuffer gbuff Return snowtex End Function Function CreateSnow(amount%) For i = 0 To amount%-1 snow.flokke = New flokke snow\sprite = CreateSprite() EntityTexture snow\sprite,snowtex EntityFX snow\sprite,1+8 EntityBlend snow\sprite,3 ScaleSprite snow\sprite,.2,.2 SpriteViewMode snow\sprite,4 snow\active = 0 Next End Function Function UpdateSnow(cam) For snow.flokke = Each flokke If Not snow\active snow\x = EntityX(cam)+Rnd(-150,150) snow\y = EntityY(cam)+80 snow\z = EntityZ(cam)+Rnd(-150,150) snow\ys = (Rnd(2,5)+Rnd(2,5))/40 snow\active = 1 End If snow\y = snow\y - snow\ys*60/fps PositionEntity snow\sprite,snow\x,snow\y,snow\z SpriteViewMode snow\sprite, 3 If snow\y < -5 Then snow\active = 0 Next So jetzt funzt es : Code: [AUSKLAPPEN] Graphics3D 800,600,16,1
SetBuffer BackBuffer() Global snowtex = CreateSnowTex() Global fps Type Flokke Field x# Field y# Field z# Field ys# Field sprite Field active% End Type ; ; ; ; ; ; ; ; ; ; Global CAM = CreateCamera() CameraRange Cam,0.1,1000 CreateSnow(10000) Repeat FPS1 = FPS1 + 1 If FPS2 <= MilliSecs() -999 Then FPS3 = FPS1 : FPS1 = 0 : FPS2 = MilliSecs() FPS = FPS3 UpdateSnow(CAM) RenderWorld() Flip Until KeyHit(1) End Function CreateSnowtex() snowtex=CreateTexture(16,16) gbuff = GraphicsBuffer() SetBuffer TextureBuffer(snowtex) Color 255,255,255 Oval 0,0,16,16 SetBuffer gbuff Return snowtex End Function Function CreateSnow(amount%) For i = 0 To amount%-1 snow.flokke = New flokke snow\sprite = CreateSprite() EntityTexture snow\sprite,snowtex EntityFX snow\sprite,1+8 EntityBlend snow\sprite,3 ScaleSprite snow\sprite,.2,.2 SpriteViewMode snow\sprite,4 snow\active = 0 Next End Function Function UpdateSnow(cam) For snow.flokke = Each flokke If Not snow\active snow\x = EntityX(cam)+Rnd(-150,150) snow\y = EntityY(cam)+80 snow\z = EntityZ(cam)+Rnd(-150,150) snow\ys = (Rnd(2,5)+Rnd(2,5))/40 snow\active = 1 End If snow\y = snow\y - snow\ys*60/fps PositionEntity snow\sprite,snow\x,snow\y,snow\z SpriteViewMode snow\sprite, 3 If snow\y < -5 Then snow\active = 0 Next End Function mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
SYSThern |
![]() Antworten mit Zitat ![]() |
---|---|---|
also naja
am anfang läufts gut mit 58-60 fps bei mir dann nach ein paar sekunden nur noch 20-25fps?? rate dir keine sprites zu verwenden... und bau ein lodsystem ein so kannst du es auch machen das der schnee nicht in der häfte des bildschirms verschwindet.... |
||
Tools and Programms
-------------------- www.systhern.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group