[BMax und B2D] Bildschirmschoner Feuerwerk

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

Mr Hopp

BeitragDi, Apr 18, 2006 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte man das eventuell zu ner engine umbauen? Smile Wäre sehr praktisch für Spiele, wenn man gewonnen hat oder so Confused
 

$tankY

BeitragMi, Apr 19, 2006 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Als Explosionseffekt wäre das ganz lustig, aber dann eher für Funspiele.
 

Die Fuaz

BeitragSa, Jul 15, 2006 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ChAoS|DrAgOn hat Folgendes geschrieben:

könntest du mir den quellcode für das ding senden wenn es möglich wäre??
wär echt nett
dann muss ich noch sagn is echt gut das ding

ChaosCoder

BeitragSo, Jul 16, 2006 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
wofür möchtest du denn den quellcode haben?
Ich muss mal gucken ob ich den überhaupt noch habe, mein PC musste formatiert werden, kein plan, hab glaub ich ne alte version von nem Freund bekommen...
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Die Fuaz

BeitragSo, Jul 16, 2006 0:22
Antworten mit Zitat
Benutzer-Profile anzeigen
wollte es haben da ich es selber für mich nochmal modifizieren kann undso
natürlich nur wenn du nix dagegn hast
deine letzte version ist ohne zweifel ganz gut aba ich wollte halt noch das ein oder andere verändern

ChaosCoder

BeitragSo, Jul 16, 2006 0:25
Antworten mit Zitat
Benutzer-Profile anzeigen
hab grad ma geguckt, quellcode ist uralt, das hat nichts mehr mit der letzten version zu tun... Aber wie wärs wenn du es probierst selbst nachzuprogrammieren? Dann kannste ja auch deinen Ideen freien lauf lassen... Naja, ich setz mich mal ran und schreib das ganze neu... Köntne aber n bissl dauern! Also dann, cya
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Die Fuaz

BeitragSo, Jul 16, 2006 0:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ok wäre nett aba ganz selber programmiern will ich nich finde deins eigentlich schon perfekt und besser könnt ichs nich machn
wie gesagt ich will nur einzelheiten modifizieren und nich inhaltlich ändern
hoffe du verstehst das und hoffe auch du kannst mir das nochmal machn^^
mfg

ChaosCoder

BeitragSo, Jul 16, 2006 0:30
Antworten mit Zitat
Benutzer-Profile anzeigen
jo versteh ich, also ich progg dann ma fleißig! Vlt kannste sie schon morgen haben! Werds dann hier posten wenn ich es fertig hab
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Die Fuaz

BeitragSo, Jul 16, 2006 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ok find ich echt nett von dir also danke
bis dann
mfg

ChaosCoder

BeitragSo, Jul 16, 2006 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
So, könnte sein, dass einige Effekte noch nicht vorhanden sind oder so, raketen macht man mit Linksklick und mit rechtsklick macht man eine sofortige Explosion an der Mausposition! Viel Spaß damit!

Code: [AUSKLAPPEN]
Const gfx=1024,gfy=768

Graphics gfx,gfy,0
SeedRnd MilliSecs()
SetBlend ALPHABLEND

Const grav#=0.05

Global timer:TTimer=CreateTimer(50)
Global r:rocket,rlist:TList=CreateList()
Global p:particle,plist:TList=CreateList()
Global NextID=0
Global image:TPixmap=CreatePixmap(gfx,gfy,PF_RGBA8888)

Global clsr,clsg,clsb

Type rocket

   Field x#,y#,sx#,sy#,typ,id
   
   Method Update()
   
      sy:+grav
   
      If sy>0.5 Explode(id)
      
      x:+sx
      y:+sy
      
      SetAlpha 1
      SetColor 160,96,0
      DrawLine x,y,x+sx,y+sy
      
   End Method
   
End Type

Function CreateRocket(ftyp)

   r=New rocket
   
   r.x=Rand(50,gfx-50)
   r.y=gfy+50
   
   r.sx=Rnd(-2,2)
   r.sy=Rnd(-7,-8.5)
   
   r.typ=ftyp
   
   r.id=NextID
   NextID:+1
   
   ListAddLast rlist,r
   
End Function

Function Explode(fid)

   For r=EachIn rlist
      If fid=r.id
         Select r.typ
            Case 4 CreateParticle(r.x,r.y,10,5,5,4,6,r.typ)
            Case 11 CreateParticle(r.x,r.y,500,3,4,1,2,r.typ)
            Default CreateParticle(r.x,r.y,200,1,5,1,5,r.typ)
         End Select
         ListRemove rlist,r
         Exit
      EndIf
   Next
   
End Function

Type particle

   Field x#,y#,sx#,sy#,gr,typ,a#,r#,g#,b#
   
   Method Update()
   
      sy:+grav
      
      x:+sx
      y:+sy
      
      If y<0 And sy>0 ListRemove plist,p
      
      Select typ
         Case 3
         x:+Rand(-2,2)
         y:+Rand(-2,2)
         If p.g>0
            p.g:-5
         ElseIf p.a>0
            p.a:-0.08
         ElseIf p.a<0
            ListRemove plist,p
         EndIf
         Case 5
         If p.g>0 p.g:-5 p.b:-5
         If p.g=0 And p.a>0 p.a:-0.04
         If p.a<0 ListRemove plist,p
         Case 6
         If p.r>0 p.r:-5 p.b:-5
         If p.r=0 And p.a>0 p.a:-0.04
         If p.a<0 ListRemove plist,p
         Case 7
         If p.r>0 p.r:-5 p.g:-5
         If p.r=0 And p.a>0 p.a:-0.04
         If p.a<0 ListRemove plist,p
         Case 8
         If p.b>0 p.b:-5
         If p.b=0 And p.a>0 p.a:-0.04
         If p.a<0 ListRemove plist,p
         Case 9
         If p.r>0 p.r:-5
         If p.r=0 And p.a>0 p.a:-0.04
         If p.a<0 ListRemove plist,p
         Case 10
         If p.g>0 p.g:-5
         If p.g=0 And p.a>0 p.a:-0.04
         If p.a<0 ListRemove plist,p
         Case 11
         If a>0 a:-0.001 Else ListRemove plist,p
         Default
         If a>0 a:-0.02 Else ListRemove plist,p
      End Select
      
      SetAlpha a
      SetColor r,g,b
      DrawOval x-gr/2,y-gr/2,gr,gr
      
   End Method
   
End Type

Function CreateParticle(fx#,fy#,fanz,fmingr,fmaxgr,fmins#,fmaxs#,ftyp)

   For i=0 To fanz-1

      p=New particle
      
      p.x=fx
      p.y=fy
      p.gr=Rand(fmingr,fmaxgr)
      p.typ=ftyp
      Select p.typ
         Case 11
         p.sx=Sin(Rnd(45,315))*Rnd(fmins,fmaxs)
         p.sy=Cos(Rnd(45,315))*Rnd(fmins,fmaxs)
         Default
         p.sx=Sin(Rnd(0,360))*Rnd(fmins,fmaxs)
         p.sy=Cos(Rnd(0,360))*Rnd(fmins,fmaxs)
      End Select
      Select p.typ
         Case 0 p.a=1 p.r=255 p.g=0 p.b=0
         Case 1 p.a=1 p.r=0 p.g=255 p.b=0
         Case 2 p.a=1 p.r=0 p.g=0 p.b=255
         Case 3 p.a=1 p.r=255 p.g=255 p.b=0
         Case 4 p.a=1 p.r=255 p.g=255 p.b=255
         Case 5 p.a=1 p.r=255 p.g=255 p.b=255
         Case 6 p.a=1 p.r=255 p.g=255 p.b=255
         Case 7 p.a=1 p.r=255 p.g=255 p.b=255
         Case 8 p.a=1 p.r=255 p.g=255 p.b=255
         Case 9 p.a=1 p.r=255 p.g=255 p.b=255
         Case 10 p.a=1 p.r=255 p.g=255 p.b=255
         Case 11 p.a=1 p.r=255 p.g=196 p.b=0
      End Select
      Select p.typ
         Case 3
         Case 4
         SetAlpha 1
         SetColor 255,255,255
         DrawRect 0,0,gfx,gfy
         Case 5
         Case 6
         Case 7
         Case 8
         Case 9
         Case 10
         Default
         SetAlpha 0.01
         SetColor p.r,p.g,p.b
         DrawRect 0,0,gfx,gfy
      End Select
      
      ListAddLast plist,p
      
   Next
   
End Function

SetClsColor 255,0,0

While Not KeyHit(27)

   DrawPixmap image,0,0
   
   SetColor 0,0,0
   SetAlpha 0.1
   DrawRect 0,0,gfx,gfy

   If MouseHit(1) CreateRocket(Rand(0,11))
   If MouseHit(2)
      atyp=Rand(0,11)
      Select atyp
         Case 4 CreateParticle(MouseX(),MouseY(),10,5,5,4,6,atyp)
         Case 11 CreateParticle(MouseX(),MouseY(),500,3,4,1,2,atyp)
         Default CreateParticle(MouseX(),MouseY(),200,1,5,1,5,atyp)
      End Select
   EndIf
   
   For r=EachIn rlist
      r.Update()
   Next
   
   For p=EachIn plist
      p.Update()
   Next
   
   image=GrabPixmap(0,0,gfx,gfy)
   
   WaitTimer timer
   
   Flip
   Cls
   
Wend

End
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

Die Fuaz

BeitragMo, Jul 17, 2006 5:40
Antworten mit Zitat
Benutzer-Profile anzeigen
wow find ich toll
klappt alles
danke dir sehr Smile
 

$tankY

BeitragDi, Jul 18, 2006 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Schade is Bmax, haste den in BB oder kannste den Umschreiben? Is net so dringend, wäre aber Cool (is ja auch das BB-Codearchiv Very Happy )

ChaosCoder

BeitragDi, Jul 18, 2006 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry, in BB geht das ganze nicht so leicht! es wird transparenz benötigt damit die effekte so aussehen! ohne transparenz würde das ganze wie auf seite eins post wasweißich aussehen... Es steht ja nu im CodeArchiv von BB weils anfangs auch in Blitz2D geschrieben wurde Rolling Eyes Nur hab ich dann BMax entdeckt und das ganze nur für BMax leicht verändert... wollte keinen extra Thread aufmachen...

MfG
ChAoS|DrAgOn
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

$tankY

BeitragDi, Jul 18, 2006 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, is auch net so schlimm^^

BtbN

BeitragDi, Jul 18, 2006 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss schon sagen, die effekte sind toll!
Allerdings hakelt es ein bischen, wenn es explodiert.

Und noch was zum Code selbst:
Ist nicht sehr schön geschreiben.
Du benutzt werder SuperStrict noch Strict, ein Framework ist nicht gesetzt(Sehr grosse Binary) und an gängige Code-Konvetionen hälst du dich auch Nicht("Type TIrgendwas" bei dir z.B. Type particle").
Und die #/%/$ kürzel gefallen mir persönlich nicht sonderlich. Aber das ist wohl eher ansichtssache.

d-bug

BeitragMi, Jul 19, 2006 8:21
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.

Bis du den Quellcode hier gepastet hast, hab ich dir noch geglaubt, dass es
auf beiden Versionen läuft. Nun fühlte ich mich allerdings gezwungen das
ganze mal ins BMax Codearchiv zu verschieben.

Beim nächsten mal bitte selbst darauf achten.

cheers

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group