tunnel

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

blitz

Betreff: tunnel

BeitragDo, Jan 20, 2005 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo!
ich brauch einen tunnel, ind dem man sich fortbewegt.
so was wie im windows media player 10 oder 9 (Ambience ->
Warp) aber in 2D. ich weiß nicht wo ich anfangen soll.
ich bitte um hilfe.
danke im Voraus
lg
blitz

Jan_

Ehemaliger Admin

BeitragDo, Jan 20, 2005 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, wie währe es,
mit geht nicht?

in 3D, ja aber nciht in 2D

Wenn du b3D hast, kenne ich jemanden, der dir Zeigen kann, wie es geht.
between angels and insects

Mattis_the_brain

BeitragDo, Jan 20, 2005 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja doch das geht, blos nicht ganz so Efecktreich wie du beschrieben hast... mit blur und som tollen SchnickSchnack, wenn du allerdings nur einen simplen Tunelefeckt erzeugen möchtest könnte ich dir weiterhelfen^^
 

blitz

BeitragDo, Jan 20, 2005 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ja bitte

Jan_

Ehemaliger Admin

BeitragDo, Jan 20, 2005 14:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SeedRnd MilliSecs()
SetBuffer BackBuffer()

gw=GraphicsWidth()
gh=GraphicsHeight()

g2w=gw/2
g2h=gh/2

Type tunnellinie
   Field Pos
End Type

Repeat
   ;Cls
   
   Color Rand(255),Rand(255),Rand(255)
   
   For Tunnel.tunnellinie = Each tunnellinie
      Pos = (tunnel\pos * tunnel\pos)/20.0
      Oval g2w-pos,g2h-pos,pos*2,pos*2,0
      tunnel\pos = tunnel\pos+1
      If pos > g2w Then Delete tunnel
   Next

   If Not(Rand(0,5)) Then
      ;Stop
      Tunnel.tunnellinie = New tunnellinie
      tunnel\pos=0
   EndIf
   
   

   Flip 0
Until KeyHit(1)
end
between angels and insects
  • Zuletzt bearbeitet von Jan_ am Do, Jan 20, 2005 15:06, insgesamt 2-mal bearbeitet
 

ZhangHe2

BeitragDo, Jan 20, 2005 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man das programm beenent kommt ja der Dialog ,program has ended,
durch die kreise wirkt der mega rund sieht voll geil aus!

mfg zhang
 

David

BeitragDo, Jan 20, 2005 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Was willst du damit sagen?
Der Dialog ist völlig normal!

grüße
 

ZhangHe2

BeitragDo, Jan 20, 2005 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
is ne optische täuschung das er rund wirkt , jednefalls bei mir

MfG zHang

Jan_

Ehemaliger Admin

BeitragDo, Jan 20, 2005 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
thx Smile

etwas optimiert und netter:
Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SeedRnd MilliSecs()
SetBuffer BackBuffer()

gw=GraphicsWidth()
gh=GraphicsHeight()

g2w=gw/2
g2h=gh/2

Type tunnellinie
   Field Pos
   Field R,G,B
End Type

Repeat
   
   For Tunnel.tunnellinie = Each tunnellinie
      Pos = (tunnel\pos * tunnel\pos)/50.0
      Color tunnel\R,Tunnel\G,Tunnel\b
      Oval g2w-pos,g2h-pos,pos*2,pos*2,0
      tunnel\pos = tunnel\pos+1
      If pos > g2w*1.5 Then Delete tunnel
   Next

   If Not(Rand(0,25)) Then
      Tunnel.tunnellinie = New tunnellinie
      tunnel\pos=0
      tunnel\r=Rand(255)
      tunnel\g=Rand(255)
      tunnel\b=Rand(255)
   EndIf

   Flip 0
Until KeyHit(1)
End
between angels and insects

Jan_

Ehemaliger Admin

BeitragDo, Jan 20, 2005 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
hehe,

Beispiel + Meine Blur eingine:
[url]
http://jankuhnert.stormsoft.de/Unbenannt.jpg
[/url]
between angels and insects

Bms

BeitragDo, Jan 20, 2005 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab jetzt aus dem 1-zeilen-wettbewerb meinen code genommen und verbessert, schauts euch einfach an(oder besser: rein in den tunnel):
Code: [AUSKLAPPEN]

;Graphics
Const grw=640,grh=480
Graphics grw,grh,16,1
SetBuffer BackBuffer()
;Geschwindigkeit
Const g=13
;Die Punkte
Const punkteanz=1950
Dim a#(punkteanz,3)
Dim punktbild(35)
For gr=1 To 35
  punktbild(gr)=CreateImage(gr Shl 1,gr Shl 1)
  SetBuffer ImageBuffer(punktbild(gr))
  Color 0,0,255-gr*7
  Oval 0,0,gr*1.9,gr*1.9,0
Next
;Steps
steps=40
SetBuffer BackBuffer()


Repeat

  Cls

  ;Mitte drehen
  dr=(dr+2)Mod 360
  nr=nr+1
  If nr=1 Then
    nr=0
    For b=0 To steps
      a(x,0)=grw Shr 1
      a(x,1)=grh Shr 1
      a(x,2)=dr+b*(360/steps)
      a(x,3)=0
      x=(x+1)Mod(punkteanz+1)
    Next
  EndIf


  ;Punkte durchgehen
  For b=0 To punkteanz
    If a(b,1)<>0 Then
      a(b,0)=a(b,0)+Cos(a(b,2))*g*a(b,3)/15
      a(b,1)=a(b,1)+Sin(a(b,2))*g*a(b,3)/15
      a(b,3)=a(b,3)+1
      bi=punktbild(a(b,3)Shr 1+1)
      DrawImage bi,a(b,0),a(b,1)
    EndIf
  Next

  Flip

Until KeyHit(1)
End

trotz mod, const, shl,shr und createimage ist es sehr langsam. hoffe, es gefällt euch und ich konnte weiterhelfen.
 

blitz

BeitragFr, Jan 21, 2005 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
das sind sehr gute vorschläge, aber nicht genau das, was ich eigentlich möchte. hier dreht sich einfach nur etwas, aber man hat nie den eindruck, dass man "reinfällt". ich möchte wirklich nicht kritisieren, da ich im gegensatz zu euch eigentlich nichts weiß, aber es sollte wie ein warpfeld aussehen. ich bedanke mich sehr herzlch, aber hoffe, dass ich noch etwas bessere quc bekomme.
lg
blitz
 

ke^kx

BeitragSa, Jan 22, 2005 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst doch das Beispiel von Bms nehmen und es noch so modifizieren, dass die Kreise auf den Betrachter zukommen, dann müsste es so aussehen.

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Triton

BeitragSa, Jan 22, 2005 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ne sehr schöne Warp-Simulation von travis.

Code: [AUSKLAPPEN]

; Sternenfeld v2.0
; Copyright (C) Dez 2003, Daniel Nobis

Global StartX, StartY

ResX = 1024  ; Horizontale Auflösung
ResY = 768   ; Vertikale Auflösung
StartX = 512 ; Startpunkt X der Sterne
StartY = 384 ; Startpunkt Y der Sterne

Mouse = 0    ; Maussteuerung 1/0
MaxSpeed = 5 ; Maximale Geschwindigkeit
n = 1000      ; Anzahl der Sterne

Dim x#(n)
Dim y#(n)
Dim Winkel(n)
Dim Speed#(n), AktuellSpeed#(n)
Dim AbstandWert#(n)
Dim Farbe(n)


Graphics ResX, ResY, GraphicsDepth, 1
SetBuffer BackBuffer()


; Allen Sternen Werte zuweisen
SeedRnd MilliSecs()
For i = 1 To n
 CreateStern(i)
Next


Repeat

 Cls

  If Mouse = 1 Then StartX = MouseX(): StartY = MouseY()
 
  For i = 1 To n
 
   AbstandWert#(i) = Abstand(x#(i), y#(i), StartX, StartY)   
   
   Farbe(i) = AbstandWert#(i) * .9   
   If Farbe(i) > 255 Then Farbe(i) = 255

   Color Farbe(i), Farbe(i), Farbe(i)
   Plot x(i), y(i)
 
   x#(i) = x#(i) + Cos(Winkel(i)) * AktuellSpeed#(i)
   y#(i) = y#(i) + Sin(Winkel(i)) * AktuellSpeed#(i)

   AktuellSpeed#(i) = AbstandWert#(i) / 30 * Speed#(i) + .4

   If x#(i) > ResX Or x#(i) < 0 Then CreateStern(i) ; Sterne außerhalb des Bildschirmes zurücksetzen
   If y#(i) > ResY Or y#(i) < 0 Then CreateStern(i)
 
  Next       
 
 Flip

Until KeyHit(1) Or MouseHit(1)
End


Function Abstand#(x1#,y1#,x2#,y2#)
xhypo# = x1# - x2#
yhypo# = y1# - y2#

Abstand# = Abs(Sqr((xhypo# ^ 2) + (yhypo# ^2)))
Return abstand#
End Function

Function CreateStern(i)
 x#(i) = StartX:
 y#(i) = StartY:
 Winkel(i) = Rnd(0, 359):
 Speed#(i) = Rnd(1, MaxSpeed)
End Function
Coding: silizium-net.de | Portfolio: Triton.ch.vu
 

xperience2003

Betreff: ...

BeitragFr, Jan 28, 2005 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

in 3D, ja aber nciht in 2D


klar geht das, hier ein auschnitt aus nem blitz2d-demo

1-9 sind verschiedene effekte, da is der tunnel dabei

www.games-mafia.de/tunnel.rar
-digital art since 1990-

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group