Wie würdet Ihr einen Blitz realisieren

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

SpionAtom

Betreff: Wie würdet Ihr einen Blitz realisieren

BeitragDi, Okt 25, 2005 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Angenommen ihr wollt ein 3D-Spiel machen, in denen Blitze vorkommen oder Kettenblitze a là WC3.
Sollte man transparente Sprites verwenden?
Gibbets da Ansätze oder Beispiele.
Oder sollte man mit Linien arbeiten? Oder sollte man das ganz anders angehen? Was meint Ihr (Beispiele sind willkommen Rolling Eyes !)

Justus

BeitragDi, Okt 25, 2005 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Blitz ist ja relativ unförmig und zuckt herum. Ich würde einfach ein paar unterschiedliche Gekritzel-Sprites nehmen. Den Hauptteil des Blitz-Effekts übernimmt meiner Meinung nach der Sound.

Vorausgesetzt, dein Blitz ist nicht Bildschirmfüllend, sodass der Spieler sich nicht nur auf den Blitz kontzentriert.

SpionAtom

BeitragDi, Okt 25, 2005 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mal in 2D was probiert. Könnte ein Anfang sein Surprised

Code: [AUSKLAPPEN]

Const xr = 800, yr = 600
Graphics xr, yr, 16, 2
SetBuffer BackBuffer()



toleranz = 10
maxsegmente = 50
segmente = 20
Dim segp#(maxsegmente,2)
spx = 50
spy = 150
epx = 700
epy = 500

   Repeat
   

      ;Eingaben
      If MouseDown(1) Then spx = MouseX():spy = MouseY()
      If MouseDown(2) Then epx = MouseX():epy = MouseY()
      If Not MouseDown(3) Then segmente = segmente + MouseZSpeed()
      If segmente < 1 Then segmente = 1
      If segmente > maxsegmente Then segmente = maxsegmente
      If MouseDown(3) Then toleranz = toleranz + MouseZSpeed()
      If toleranz < 0 Then toleranz = 0
      
   
      ;Berechnungen
      xdif# = epx-spx
      ydif# = epy-spy
      For i = 1 To segmente
      segp(i,0) = spx + (i-1)*(xdif#/segmente)
      segp(i,1) = spy + (i-1)*(ydif#/segmente)
      Next

      Cls
      ;Hilfetext
      Color 0,150,0:Oval spx-10,spy-10,20,20,1
      Color 0,0,150:Oval epx-10,epy-10,20,20,1
      Color 255, 255, 255
      Text spx-30, spy-25,"Startpunkt"
      Text epx-30, epy-25,"Endpunkt"
      Text 0,0,"Startpunkt setzen = Linksklick"
      Text 0,20, "Endpunkt setzen = Rechtsklick"
      Text 0,40, "segmente = Mausrad ("+segmente+" Segmente vorhanden) mehr Segmente machen den Blitz kleinschrittiger"
      Text 0,60, "Toleranz = gedrücktes Mausrad (Toleranz "+toleranz+") eine größere Toleranz macht den Blitz breiter"
      Color 255,0,0
      For i = 1 To segmente
      Oval segp(i,0)-1, segp(i,1)-1,2,2,1
      Next
      
      
      ;Blitzen
      px1 = spx
      py1 = spy
      For i = 1 To segmente
         px2 = segp(i,0)+ toleranz - Rand(2*toleranz)
         py2 = segp(i,1)+ toleranz - Rand(2*toleranz)
         Color 255, 255, 0      
         Line px1, py1, px2, py2
         px1 = px2
         py1 = py2
      Next
      Line px1, py1, epx, epy


      Flip()




   Until KeyDown(1)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group