Tunnel
Übersicht

blitzBetreff: Tunnel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi an alle!
Hab schon wieder ne Frage: (Bin durch den WM-Player draufgekommen) Ich möchte mit Blitz Basic einen Tunnel im Vollbildmodus machen, bei dem man das Gefühl hat, hineingezogen zu werden. Geht das überhaupt. Bedanke mich wie immer jetzt schon herzlich, mfg blitz |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klar geht das. Setz dich einfach mal ran und wenn es Probleme gibt kannst Du nochmal fragen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
zirri |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Ich verstehe das jetzt so das du sowas wie nen Lichtunnel oder wurmloch meinst. Hier ist mal sonen Quelltext. Vielleicht kannst du ja was damit anfangen. Ist in 3D nartürlich. Code: [AUSKLAPPEN] Graphics3D 800, 600, 32, 2
Tex1 = CreateTexture(256, 256) SetBuffer TextureBuffer(Tex1) For Zaehler = 1 To 2000 Color Rnd(255), Rnd(255), Rnd(255) Plot Rnd(255), Rnd(255) Next Tex2 = CreateTexture(256, 256) SetBuffer TextureBuffer(Tex2) For Zaehler = 1 To 2000 Color 255, 255, 255 Plot Rnd(255), Rnd(255) Next SetBuffer BackBuffer() Kamera = CreateCamera() CameraViewport Kamera, 0, 0, 800, 600 CameraClsColor Kamera, 0, 0, 0 CameraRange Kamera, 0.01, 10000 Licht = CreateLight(1, Kamera) AmbientLight 255, 255, 255 MoveEntity Kamera, 0, 0, -10 CameraZoom Kamera, 1 Cylinder1 = CreateCylinder(80,0) TurnEntity Cylinder1, 90, 0, 0 ScaleEntity Cylinder1, 1, 10, 1 EntityFX Cylinder1, 16 EntityAlpha Cylinder1, 1 Cylinder2 = CreateCylinder(80,0) TurnEntity Cylinder2, 90, 0, 0 ScaleEntity Cylinder2, .9, 10, .9 EntityFX Cylinder2, 16 EntityAlpha Cylinder2, .5 EntityTexture Cylinder1, Tex1 EntityTexture Cylinder2, Tex2 While Not KeyHit(1) u# = u# + .0015 v# = v# + .0015 PositionTexture Tex1, u#, v# PositionTexture Tex2, u#*2, v#*2 UpdateWorld() RenderWorld() Flip() Wend EndGraphics() End() |
||
blitzBetreff: ? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hab leider nur bb2d
und ich hab auch keine ahnung wie ich anfangen soll ich meine einen tunnel, der gerade in den bildschirm hinein geht,kein loch, und man soll das gefühl bekommen, dass man hineingezogen wird |
||
![]() |
sbrog |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das gibts im Robtutorial unter Grafik.
So was meinst du ,stimmts ? Code: [AUSKLAPPEN] ; Rob´s BB-Kurs 2 ; Robert Gerlach 2.2002 ; ; DotTunnel ; ---------------------------------------------- ; Ein klassischer DotTunnel. Tunnel aus Punkten. Global width = 640 Global height = 480 mode = 1 Global punkte_in_ring = 20 Global invert = 0 ; Schwarz auf weiß oder weiß auf schwarz. Graphics width, height, 16, mode SetBuffer BackBuffer() If invert = 1 Then ClsColor 255,255,255 Else ClsColor 0,0,0 EndIf Type com Field x# Field y# Field speed# Field winkel End Type Global dot.com Global x# = 320 Global y# = 240 Global zeit = MilliSecs() Global m_winkel# ; Vorberechnete Sinus/Cosinus-Tabellen Dim sinus#(360) Dim cosinus#(360) For i = 0 To 360 sinus#(i) = Sin(i) cosinus#(i) = Cos(i) Next ; Die Hauptschleife Repeat Cls If MilliSecs() - zeit >= 100 Then neuepunkte zeit = MilliSecs() EndIf mittelpunktbewegen punktebewegen punktemalen Flip Until KeyHit(1) End ; Den Ausgangspunkt der Einzelpunkte bewegen Function mittelpunktbewegen() m_winkel# = m_winkel# + .3 If m_winkel# >= 360 Then m_winkel# = 0 ym_winkel# = m_winkel# * 3 If ym_winkel# > 360 Then ym_winkel# = (m_winkel# * 3 - 360) x# = (width / 2) - 200 * cosinus#(m_winkel#) y# = y# + sinus#(ym_winkel#) End Function ; Einen neuen Punktering erschaffen Function neuepunkte() For i = 1 To punkte_in_ring dot.com = New com dot\x# = x# dot\y# = y# dot\winkel = (360 / punkte_in_ring) * i dot\speed# = .08 Next End Function ; Die Punkte bewegen und am Rand des Screens löschen Function punktebewegen() For dot.com = Each com dot\x# = xbewegen#(dot\x#, dot\winkel, dot\speed#) dot\y# = ybewegen#(dot\y#, dot\winkel, dot\speed#) dot\speed# = dot\speed# + .02 If dot\x# < 0 Or dot\x# > width Or dot\y# < 0 Or dot\y# > height Then Delete dot.com Next End Function ; Die Punkte zeichnen Function punktemalen() For dot.com = Each com If invert = 0 Then f = dot\speed# * 50 Else f = 255 - (dot\speed# * 50) EndIf Color f, f, f Oval dot\x# - dot\speed#, dot\y# - dot\speed#, dot\speed# * 2, dot\speed# * 2 Next End Function ; Bewegt einen Punkt auf der X-Achse mit der angegebenen Geschwindigkeit Function xbewegen#(x#,winkel#,speed#) x2# = x# + Cosinus#(winkel#)*speed# Return x2# End Function ; Das gleiche mit der Y-Achse. Function ybewegen#(y#,winkel#,speed#) y2# = y# + Sinus#(winkel#)*speed# Return y2# End Function |
||
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey. Cooler Effekt.
Nach ner Zeit kommt dann aber Array index out of bounds. Vieleich könnte man den Tunnel noch "geschlossener" wirken lassen. |
||
aktuelles Projekt: The last day of human being |
![]() |
Bms |
![]() Antworten mit Zitat ![]() |
---|---|---|
schau doch mal ins codearchiv unter "MoveToPoint mit Effektbsp." | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group