vielleicht ein netter bildschirmschoner

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

froyd

Betreff: vielleicht ein netter bildschirmschoner

BeitragDo, Sep 23, 2004 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

hier mein erstes Blitz3d Werk, zu einem Bildschirmschoner fehlt wohl noch ein wenig, da man mit ESC abbrechen muss.
Über weiteren Nutzen läßt sich sicher streiten Rolling Eyes Ich aber hab eine Menge dabei gelernt. Smile

hier der
BlitzBasic: [AUSKLAPPEN]
Graphics3D 640,480,32,1
SetBuffer BackBuffer()

;variablen
x=0 ;x-koordinate
y=0 ;y-koordinate
z=0 ;z-koordinate

c_amnt=200 ;anzahl der cubes

;erstell licht
light=CreateLight()

;erstellt die cubes in einem array
Dim cube(c_amnt)
For n = 0 To c_amnt
cube(n)=CreateCube()
EntityColor cube(n),100,200,255
EntityAlpha cube(n),0.1
ScaleMesh cube(n),0.5,0.5,0.5
PositionEntity cube(n),x,y,z
Next
n=0

;erstellt kamera
g_Camera=CreateCamera()
PositionEntity g_camera,0,0,-10



;mainloop============================================
While Not KeyHit(1)

;abfrage ob anzahl der cubes erreicht
If n=c_amnt+1 Then n=0

;"würfeln" :)
SeedRnd MilliSecs()

;Zufallszahl zwischen 1 und 6
r=Rand(1,6)

;entscheidung welche richtung später bewegt wird
Select r
Case 1
x=x+1
Case 2
x=x-1
Case 3
y=y+1
Case 4
y=y-1
Case 5
z=z+1
Case 6
z=z-1
End Select

;dient dazu den bewegungsbereich der cubes zu begrenzen
If x=10 Or x=-10 Then x=0 And y=0 And z=0
If y=10 Or y=-10 Then y=0 And y=0 And z=0
If z=10 Or z=-10 Then z=0 And y=0 And z=0

;Positionierung des cubes n
PositionEntity cube(n),x,y,z

;Drehung aller cubes
For c=0 To c_amnt
TurnEntity cube(c),-0.2,0.1,-0.1,0.2
Next

;nächster cube(n) beim nächsten Flip
n=n+1

RenderWorld

;Text 0,0,r+" "+x+","+y+","+z
Flip
Wend
;mainloop end============================================


End


Ich hoffe es gefällt.

froyd

The Yeti

BeitragDo, Sep 23, 2004 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht auf jeden Fall cool aus!

regaa

BeitragDo, Sep 23, 2004 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
schaut nett aus. Smile
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net
 

x.Force

BeitragDo, Sep 23, 2004 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
wow das sieht geil aus O.o wirklich cool

AMD Athlon XP 2000+ | 1024mb DDR-Ram | Asus Radeon 9600XT | BENQ FP757 17°Zoll TFT

Was kümmert mich mein Geschwätz von gestern? (Konrad Adenauer) -.-
 

Timo

BeitragDo, Sep 23, 2004 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht schlecht!! Wäre für einen Bildschirmschoner bestens geeignet Smile
 

TOONY

BeitragDo, Sep 23, 2004 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe etwas mit den Farben gespielt
BlitzBasic: [AUSKLAPPEN]

Graphics3D 640,480,32,1
SetBuffer BackBuffer()

;variablen
x=0 ;x-koordinate
y=0 ;y-koordinate
z=0 ;z-koordinate

c_amnt=200 ;anzahl der cubes

;erstell licht
light=CreateLight()

;erstellt die cubes in einem array
Dim cube(c_amnt)
For n = 0 To c_amnt
cube(n)=CreateCube()
EntityColor cube(n),Rand(100,255),Rand(100,255),Rand(100,255)
EntityAlpha cube(n),0.1
ScaleMesh cube(n),0.5,0.5,0.5
PositionEntity cube(n),x,y,z
Next
n=0

;erstellt kamera
g_Camera=CreateCamera()
PositionEntity g_camera,0,0,-10



;mainloop============================================
While Not KeyHit(1)

;abfrage ob anzahl der cubes erreicht
If n=c_amnt+1 Then n=0

;"würfeln" :)
SeedRnd MilliSecs()

;Zufallszahl zwischen 1 und 6
r=Rand(1,6)

;entscheidung welche richtung später bewegt wird
Select r
Case 1
x=x+1
Case 2
x=x-1
Case 3
y=y+1
Case 4
y=y-1
Case 5
z=z+1
Case 6
z=z-1
End Select

;dient dazu den bewegungsbereich der cubes zu begrenzen
If x=10 Or x=-10 Then x=0 And y=0 And z=0
If y=10 Or y=-10 Then y=0 And y=0 And z=0
If z=10 Or z=-10 Then z=0 And y=0 And z=0

;Positionierung des cubes n
PositionEntity cube(n),x,y,z

;Drehung aller cubes
For c=0 To c_amnt
TurnEntity cube(c),-0.2,0.1,-0.1,0.2
Next

;nächster cube(n) beim nächsten Flip
n=n+1

RenderWorld

;Text 0,0,r+" "+x+","+y+","+z
Flip
Wend
;mainloop end============================================


End
 

froyd

BeitragDo, Sep 23, 2004 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für die comments!
die neuen farben gefalllen mir sehr! Very Happy

Gameprogman

BeitragFr, Sep 24, 2004 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
COOOOOOOOOOOOL 8)
Sieht voll geil aus!!
www.bandradr.de ! Awesome !

Gina

BeitragFr, Sep 24, 2004 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, mit den Farben sieht es noch besser aus.

Was mir besonders gut gefällt, ist, dass er selbst teilweise "aufräumt". Nicht so wie bei diesem Windows-3D-Ding, wo der Bildschirm einfach gelöscht wird, wenn er voll ist.

Deine Variante find ich richtig super...

Gina.
www.jk-spiele.de

D2006

Administrator

BeitragFr, Sep 24, 2004 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Herzlichen Glückwunsch,
du bist der Autor meines neues Bildschirm-Schoners.

Die Original Farben gefallen mir irgendwie besser.

Also, Tipps für alle:

bei Bedarf nach SetBuffer ein
BlitzBasic: [AUSKLAPPEN]

AntiAlias 1

(wenn perfomance stimmt, sieht es besser aus)

zum Screensaver:

ganz oben folgende Zeile:
BlitzBasic: [AUSKLAPPEN]

If Upper$(Left$(CommandLine$(),2))<>"\S" Then End

(sorgt dafür, dass er nur startet, wenn er auch soll)

statt der While-Wend eine Repeat-Forever Schleife
und vor dem Forever folgende Zeile:
BlitzBasic: [AUSKLAPPEN]

If GetKey() Or MouseXSpeed() Or MouseYSpeed() Then Exit

(zum Abbrechen)

zum Schluss natürlich noch komplieren und in zB "CubeSaver.scr" umbenennen.

*thumbs up*

MfG
 

froyd

BeitragFr, Sep 24, 2004 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
hey, genau das sind die tips die fehlten =)

vielen dank, ich werd die zeilen noch einfügen.
freu mich, dass es gefällt Smile

froyd
 

Niclas

BeitragMi, Dez 29, 2004 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
hi ich hab da ma n bisschen rumgebastelt, also es ist nur weisser hintergrund und anderer code aufbau sonst nix Smile
Code: [AUSKLAPPEN]

Graphics3D 640,480,32,2
SetBuffer BackBuffer()

;--------------------------------------------------------------------------------------------------------------------
;- Cube Settings
;--------------------------------------------------------------------------------------------------------------------
;AntiAlias 1

;variablen
x=0 ;x-koordinate
y=0 ;y-koordinate
z=0 ;z-koordinate

c_amnt=100 ;anzahl der cubes

;erstell licht
light=CreateLight()

;erstellt die cubes in einem array
Dim cube(c_amnt)
For n = 0 To c_amnt
cube(n)=CreateCube()
EntityColor cube(n),100,200,255
EntityAlpha cube(n),0.1
ScaleMesh cube(n),0.5,0.5,0.5
PositionEntity cube(n),x,y,z
Next
n=0

;erstellt kamera
g_Camera=CreateCamera()
PositionEntity g_camera,0,0,-10
CameraClsMode g_camera,0,1

timer = CreateTimer(60)
time = MilliSecs()
;--------------------------------------------------------------------------------------------------------------------

;--------------------------------------------------------------------------------------------------------------------
;- Main Loop
;--------------------------------------------------------------------------------------------------------------------
While Not KeyHit(1)
ClsColor 255,255,255
Cls

;--------------------------------------------------------------------------------------------------------------------
;- Cubes Zeichnen
;--------------------------------------------------------------------------------------------------------------------
If MilliSecs()-time => 50 Then
;abfrage ob anzahl der cubes erreicht
If n=c_amnt+1 Then n=0

;"würfeln" :)
SeedRnd MilliSecs()

;Zufallszahl zwischen 1 und 6
r=Rand(1,6)

;entscheidung welche richtung später bewegt wird
Select r
Case 1
x=x+1
Case 2
x=x-1
Case 3
y=y+1
Case 4
y=y-1
Case 5
z=z+1
Case 6
z=z-1
End Select

;dient dazu den bewegungsbereich der cubes zu begrenzen
If x=10 Or x=-10 Then x=0 And y=0 And z=0
If y=10 Or y=-10 Then y=0 And y=0 And z=0
If z=10 Or z=-10 Then z=0 And y=0 And z=0

;Positionierung des cubes n
PositionEntity cube(n),x,y,z

;Drehung aller cubes
For c=0 To c_amnt
TurnEntity cube(c),-0.2,0.1,-0.1,0.2
Next

;nächster cube(n) beim nächsten Flip
   n=n+1
   time = MilliSecs()
End If

RenderWorld

;Text 0,0,r+" "+x+","+y+","+z
;--------------------------------------------------------------------------------------------------------------------


Flip
WaitTimer(timer)
Wend

End

hamZta

Administrator

BeitragDo, Dez 30, 2004 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mit mal erlaubt weiter daran zu basteln!
Code: [AUSKLAPPEN]
If Upper$(Left$(CommandLine$(),2))<>"\S" Then End
Graphics3D 640,480,32,1
SetBuffer BackBuffer()
AntiAlias 1
;--------------------------------------------------------------------------------------------------------------------
;- Cube Settings
;--------------------------------------------------------------------------------------------------------------------
;AntiAlias 1

;variablen
x=0 ;x-koordinate
y=0 ;y-koordinate
z=0 ;z-koordinate

c_amnt=100 ;anzahl der cubes

;erstell licht
light=CreateLight()

;erstellt die cubes in einem array
Dim cube(c_amnt,1)
For n = 0 To c_amnt
cube(n,0)=CreateCube()
cube(n,1)=CreateCube()
EntityColor cube(n,0),255,100,0
EntityColor cube(n,1),255,100,0
EntityFX cube(n,1),1
EntityAlpha cube(n,0),0.5
EntityAlpha cube(n,1),0.3
ScaleMesh cube(n,0),0.5,0.5,0.5
ScaleMesh cube(n,1),0.7,0.7,0.7
PositionEntity cube(n,0),x,y,z
PositionEntity cube(n,1),x,y,z
Next
n=0

;erstellt kamera
g_Camera=CreateCamera()
PositionEntity g_camera,0,0,-10
CameraClsMode g_camera,0,1

timer = CreateTimer(60)
time = MilliSecs()
;--------------------------------------------------------------------------------------------------------------------

;--------------------------------------------------------------------------------------------------------------------
;- Main Loop
;--------------------------------------------------------------------------------------------------------------------
Repeat
ClsColor 255,255,255
Cls

;--------------------------------------------------------------------------------------------------------------------
;- Cubes Zeichnen
;--------------------------------------------------------------------------------------------------------------------
If MilliSecs()-time => 50 Then
;abfrage ob anzahl der cubes erreicht
If n=c_amnt+1 Then n=0

;"würfeln" :)
SeedRnd MilliSecs()

;Zufallszahl zwischen 1 und 6
r=Rand(1,6)

;entscheidung welche richtung später bewegt wird
Select r
Case 1
x=x+1
Case 2
x=x-1
Case 3
y=y+1
Case 4
y=y-1
Case 5
z=z+1
Case 6
z=z-1
End Select

;dient dazu den bewegungsbereich der cubes zu begrenzen
If x=10 Or x=-10 Then x=0 And y=0 And z=0
If y=10 Or y=-10 Then y=0 And y=0 And z=0
If z=10 Or z=-10 Then z=0 And y=0 And z=0

;Positionierung des cubes n
PositionEntity cube(n,0),x,y,z
PositionEntity cube(n,1),x,y,z

;Drehung aller cubes
For c=0 To c_amnt
TurnEntity cube(c,0),-0.2,0.1,-0.1,0.2
TurnEntity cube(c,1),-0.2,0.1,-0.1,0.2
Next

;nächster cube(n) beim nächsten Flip
   n=n+1
   time = MilliSecs()
End If
For c=0 To c_amnt
HideEntity cube(c,0)
ShowEntity cube(c,1)
;TurnEntity cube(c,0),-0.2,0.1,-0.1,0.2
;TurnEntity cube(c,1),-0.2,0.1,-0.1,0.2
Next
WireFrame 1
CameraClsMode g_Camera,0,1
RenderWorld
WireFrame 0

For c=0 To c_amnt
ShowEntity cube(c,0)
HideEntity cube(c,1)
;TurnEntity cube(c,0),-0.2,0.1,-0.1,0.2
;TurnEntity cube(c,1),-0.2,0.1,-0.1,0.2
Next

RenderWorld
CameraClsMode g_Camera,1,1
If GetKey() Or MouseXSpeed() Or MouseYSpeed() Then Exit
;Text 0,0,r+" "+x+","+y+","+z
;--------------------------------------------------------------------------------------------------------------------


Flip
WaitTimer(timer)
Forever

End

Edit:
Hab den Code erweitert, und einen Screensaver draus gemacht (Thx 2 MDBlitzsaver Wink )
Hier saugen
Das ganze entzippen und nach "Windows\System32" (XP + 2000) oder nach "Windows\System" kopieren[/url]
Blog.

Blitzcoder

Newsposter

BeitragFr, Dez 31, 2004 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mal die UR-Version zu einem Bildschirmschoner gemacht!
Man kann per Tastendruck oder per Mausbewegung beenden!

Code:

Code: [AUSKLAPPEN]

If Left$(CommandLine$(),2)="/p" Then
Print "Der Bildschirmschoner wurde installiert!"
Print "Drückn sie zum Beenden eine Taste"
WaitKey
End
EndIf


Graphics3D 640,480,32,1
SetBuffer BackBuffer()

;variablen
x=0 ;x-koordinate
y=0 ;y-koordinate
z=0 ;z-koordinate

c_amnt=200 ;anzahl der cubes

;erstell licht
light=CreateLight()

;erstellt die cubes in einem array
Dim cube(c_amnt)
For n = 0 To c_amnt
cube(n)=CreateCube()
EntityColor cube(n),100,200,255
EntityAlpha cube(n),0.1
ScaleMesh cube(n),0.5,0.5,0.5
PositionEntity cube(n),x,y,z
Next
n=0

;erstellt kamera
g_Camera=CreateCamera()
PositionEntity g_camera,0,0,-10



;mainloop============================================
While Not KeyHit(1)

;abfrage ob anzahl der cubes erreicht
If n=c_amnt+1 Then n=0

;"würfeln" Smile
SeedRnd MilliSecs()

;Zufallszahl zwischen 1 und 6
r=Rand(1,6)

;entscheidung welche richtung später bewegt wird
Select r
Case 1
x=x+1
Case 2
x=x-1
Case 3
y=y+1
Case 4
y=y-1
Case 5
z=z+1
Case 6
z=z-1
End Select

;dient dazu den bewegungsbereich der cubes zu begrenzen
If x=10 Or x=-10 Then x=0 And y=0 And z=0
If y=10 Or y=-10 Then y=0 And y=0 And z=0
If z=10 Or z=-10 Then z=0 And y=0 And z=0

;Positionierung des cubes n
PositionEntity cube(n),x,y,z

;Drehung aller cubes
For c=0 To c_amnt
TurnEntity cube(c),-0.2,0.1,-0.1,0.2
Next

;nächster cube(n) beim nächsten Flip
n=n+1

RenderWorld

If MouseXSpeed()<>0 Or MouseYSpeed()<>0 Or GetKey()<>0 Then End

;Text 0,0,r+" "+x+","+y+","+z
Flip
Wend
;mainloop end============================================
End



Hier der Download der fertigen SCR-Datei:
[url]blitzdownloads.de.vu/bildschirmschoner.zip[/url]

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group