2D Starfield Warp ( aus dem alten CodeArchiv )

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

walski

Ehemaliger Admin

Betreff: 2D Starfield Warp ( aus dem alten CodeArchiv )

BeitragDo, Okt 21, 2004 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, ich habe gerade mal wieder im alten CodeArchiv ( http://www.walski.net/bb/ca.php ) gestöbert und diesen uralten Code von mir entdeckt:

BlitzBasic: [AUSKLAPPEN]

;A little warp effekt :)
Const ScreenW=1024,ScreenH=768
Const StarCount=500

Type Stars

Field x,y
Field Intensity#
Field WarpStar
Field TookOut
End Type


SeedRnd MilliSecs()

For i=1 To StarCount

Star.Stars = New Stars
Star\x=Rand(0,ScreenW)
Star\y=Rand(0,ScreenH)
Star\Intensity=Rnd(0.0001,1)
If Star\Intensity>0.5 Then Star\WarpStar=1

Next

Graphics ScreenW,ScreenH,32,1

SetBuffer BackBuffer()

timer=CreateTimer(60)
Trail#=1
Speed# = 5
WarpPhase = 0

While Not KeyDown(1)

WaitTimer timer

Cls

LockBuffer BackBuffer()

For Star = Each Stars

If WarpPhase<>0 And (Not Star\WarpStar=1) Then

Light=Ceil(255*Star\Intensity)

WritePixelFast Star\x,Star\y,RGB2Hex(Light,Light,Light)

Star\y=Star\y+Ceil(Speed*Star\Intensity)

Else

For i=1 To Trail

If Star\y>i Then

Light=Ceil(255*Star\Intensity)/(i/((Trail/10)+1))
WritePixelFast Star\x,Star\y-i,RGB2Hex(Light,Light,Light)

EndIf

Next

Star\y=Star\y+Ceil(Speed*Star\Intensity)

EndIf

If Star\y>ScreenH Then

star\y=1
star\x=Rand(0,ScreenW)

EndIf

Next

If KeyHit(57) And (Not WarpPhase) Then WarpPhase=1

If WarpPhase

If WarpPhase<150

Trail=Trail+.8
Speed=Speed +.2

ElseIf WarpPhase>300

Trail=Trail-.8
Speed=Speed-.2

EndIf

WarpPhase=WarpPhase+1

If WarpPhase >449 Then

WarpPhase =0
Trail=1

EndIf

EndIf

UnlockBuffer BackBuffer()

Flip

If KeyHit(14) Then

While Not KeyHit(14)

Wend

EndIf

Wend

Function RGB2Hex(R,G,B)
Return 255*$1000000 + r*$10000 + g*$100 + b
End Function


Ich weiß, ist hässlich, aber er funktioniert *g

Es gab auch ne kurze Diskussion dazu, zu sehen hier:
http://www.walski.net/bb/ca.ph...;id=105368

Aber wenn ihr Codes aus dem alten CodeArchiv kopiert fehlen alle \ im Code... diese müssen leider manuell gesetzt werden.

Naja, wozu ich das jetzt hier poste weiß ich auch nicht, aber das CodeArchiv soll ja schließlich auch mal wieder belebt werden *g

walski
buh!

Kabelbinder

Sieger des WM-Contest 2006

BeitragFr, Okt 22, 2004 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich weiß nicht, solche Stern-Simulationen mit mehreren Layern wirken auf mich irgendwie ziemlich unrealistisch. Auf der Erde, oder so, wo alles nur ein paar Kilometer von anderen Dingen entfernt ist, kommt das mit mehreren Layern immer sehr gut, aber in Weltraum, wo ja irgendwie alles Lichtjahre von einander entfernt liegt, ist das finde ich ziemlich abwegig. Das sieht dann oft aus, wie Schneefall im Hintergrund.
Also ich würde das bei einem Spaceshooter einfach so machen, das da im Hintergrund nur ein Layer ist, der halt total langsam scrollt.

Naja, das ist meine Meinung, aber ich denke, jeder Anfänger, der sowas Programmieren will, freut sich über diesen Post Smile .

Übrigens, ich finde auch, dass hier in letzter Zeit zu wenig gepostet wird. Wahrscheinlich will hier jeder seine Errungenschaften geheim halten Very Happy .
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

sbrog

BeitragFr, Okt 22, 2004 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
@Kabelbinder

natürlich haben solche Sternenfelder nur entfernt etwas mit der Realität zu tun.

Wenn man aber das ganze in einen Vertikal scrollenden Spaceshooter einbaut, sind sie fast unentbehrlich, da sie ein Gefühl von Geschwindigkeit vermitteln, und den leeren Bildschirm ausfüllen.

Kabelbinder

Sieger des WM-Contest 2006

BeitragFr, Okt 22, 2004 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das stimmt, die sehen sehr dynamisch aus.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group