Partikel Programm

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

ChaosCoder

Betreff: Partikel Programm

BeitragSo, Apr 24, 2005 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Ich hab ein Partikel Programm geschrieben und wollte mal wissen wie ihr es findet! Ich wusste nicht wo ich den thread eröffnen sollte, da ich bei projekts höchstwarscheinlich an der falschen stelle bin!

BlitzBasic: [AUSKLAPPEN]

Graphics 1024,768,16,1
SetBuffer BackBuffer()
SeedRnd MilliSecs()

Global p.part
Global pb.partb
Global pe.parte
Global ox#,oy#,ex#,ey#,esx,esy,osx,osy
Global mx,my
Global anzp,anzpb,anzpe
Global px#,py#
Global pause=1

ClsColor 0,0,0

px=1024/2
py=(768+15)/2
anzp=2
anzpb=2
anzpe=2

Type part
Field x#,y#,g,sx#,sy#,fr,fg,fb
End Type

Type partb
Field x#,y#,g,sx#,sy#,fr,fg,fb
End Type

Type parte
Field x#,y#,sx#,sy#,fr,fg,fb
End Type

Function crpart()
For i=1 To anzp
p=New part
p\x=px-3
p\y=py-3
p\g=Rnd(3,6)
p\sx=((mx-px)/100+Rnd(-0.5,0.5))*3
p\sy=((my-py)/100+Rnd(-0.5,0.5))*3
p\fr=255
p\fg=255
p\fb=0
Next
End Function

Function crpartb()
ox=p\x
oy=p\y
osx=p\sx/2
osy=p\sy/2
Delete p
For i=1 To anzpb
pb=New partb
pb\x=ox
pb\y=oy
pb\g=Rnd(2,4)
pb\sx=(Rnd(-0.5,0.5)+osx)
pb\sy=(Rnd(-0.5,0.5)+osy)
pb\fr=255
pb\fg=0
pb\fb=0
Next
End Function

Function crparte()
ex=pb\x
ey=pb\y
esx=pb\sx/2
esy=pb\sy/2
Delete pb
For i=1 To anzpe
pe=New parte
pe\x=ex
pe\y=ey
pe\sx=(Rnd(-0.5,0.5))+esx
pe\sy=(Rnd(-0.5,0.5))+esy
pe\fr=255
pe\fg=255
pe\fb=0
Next
End Function

Function uppart()
For p=Each part
If p\x<1 p\x=2 p\sx=p\sx*-1
If p\y<15 p\y=16 p\sy=p\sy*-1
If p\x>1023-p\g p\x=1022-p\g p\sx=p\sx*-1
If p\y>767-p\g p\y=766-p\g p\sy=p\sy*-1
p\x=p\x+p\sx
p\y=p\y+p\sy
If p\fr=255 p\fg=p\fg-5
Color p\fr,p\fg,p\fb
Oval p\x,p\y,p\g,p\g
If p\fr=255 And p\fg=0 And p\fb=0
crpartb()
EndIf
Next
End Function

Function uppartb()
For pb=Each partb
If pb\x<1 pb\x=2 pb\sx=pb\sx*-1
If pb\y<15 pb\y=16 pb\sy=pb\sy*-1
If pb\x>1023-pb\g pb\x=1022-pb\g pb\sx=pb\sx*-1
If pb\y>767-pb\g pb\y=766-pb\g pb\sy=pb\sy*-1
pb\x=pb\x+pb\sx
pb\y=pb\y+pb\sy
If pb\fr=255 pb\fg=pb\fg+5
Color pb\fr,pb\fg,pb\fb
Oval pb\x,pb\y,pb\g,pb\g
If pb\fr=255 And pb\fg=255 And pb\fb=0
crparte()
EndIf
Next
End Function

Function upparte()
For pe=Each parte
If pe\x<1 pe\x=2 pe\sx=pe\sx*-1
If pe\y<15 pe\y=16 pe\sy=pe\sy*-1
If pe\x>1023 pe\x=1022 pe\sx=pe\sx*-1
If pe\y>767 pe\y=766 pe\sy=pe\sy*-1
pe\x=pe\x+pe\sx
pe\y=pe\y+pe\sy
If pe\fr=255 And pe\fg>0 pe\fg=pe\fg-5
If pe\fg=0 pe\fr=pe\fr-5
Color pe\fr,pe\fg,pe\fb
Plot pe\x,pe\y
If pe\fr=0 And pe\fg=0 And pe\fb=0 Delete pe
Next
End Function

HidePointer

While Not KeyHit(1)

Color 255,255,255
Text 0,0,\"Anzahl 1.Partikel: \"+anzp+\" Anzahl 2.Partikel: \"+anzpb+\" Anzahl 3.Partikel: \"+anzpe+\" ; Leertaste um alles zu löschen!\"
Plot px,py

Line 0,15,1024,15

mx=MouseX()
my=MouseY()

If my<15 my=15

If MouseDown(2)
px=mx
py=my
EndIf

If MouseDown(1)
crpart()
EndIf

If KeyHit(200)
anzp=anzp+1
If anzp>25 anzp=25
EndIf

If KeyHit(208)
anzp=anzp-1
If anzp<1 anzp=1
EndIf

If KeyHit(205)
anzpb=anzpb+1
If anzpb>25 anzpb=25
EndIf

If KeyHit(203)
anzpb=anzpb-1
If anzpb<1 anzpb=1
EndIf

If KeyHit(201)
anzpe=anzpe+1
If anzpe>25 anzpe=25
EndIf

If KeyHit(209)
anzpe=anzpe-1
If anzpe<1 anzpe=1
EndIf

If KeyDown(57)
For p=Each part
Delete p
Next
For pb=Each partb
Delete pb
Next
For pe=Each parte
Delete pe
Next
EndIf

uppart()
uppartb()
upparte()
Color 255,255,255
Oval mx-3,my-3,6,6,0
Flip
Cls
Wend
End


Die Anleitung:
benutze die Pfeiltasten hoch und runter, um zu sagen wieviele Partikel als erstes erstellt werden sollen!
links und rechts legen die anzahl von den partikeln fest die aus den 1. partikeln entstehen und page up und down die 3. partikel die aus den 2. entstehen!
mit leerztaste löscht man alle, da es bei zu vielen partikel zu hohen geschwindigkeitsproblemen kommen kann!
mit esc beendet man die ganze sache...

-------------------

Wie findet ihr es?
Was könnte man verbessern?

Question Question Question

Ich will warscheinlich noch andere farben reinbringen

Andy030
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

simi

BeitragSo, Apr 24, 2005 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich finde ist schon recht gut.... Very Happy

Einfach was ich nicht so schön/gut finde, sind die Tempoübergänge, das ist irgendwie so ... unnatürlich, so apprupt.....

ChaosCoder

BeitragSo, Apr 24, 2005 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
oh... nur einer?

@ simi:

welche Tempoübergänge? Die von Partikel zu Partikel???
Ich versteh dat nämlich net...

egal...

ich hoffe es können hier noch ein paar was zu meinem prog sagen!

Andy030
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

ChaosCoder

BeitragMo, Apr 25, 2005 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Hab jetze versch. Farben! Insgesammt 11 Farbverläufe!
Hoffe es gefällt euch!
Könnt ruhig alle mal antworten!

Hier:

BlitzBasic: [AUSKLAPPEN]

Graphics 1024,768,16,1
SetBuffer BackBuffer()
SeedRnd MilliSecs()

Global p.part
Global pb.partb
Global pe.parte
Global ox#,oy#,ex#,ey#,esx,esy,osx,osy
Global mx,my
Global anzp,anzpb,anzpe
Global px#,py#
Global farbe

ClsColor 0,0,0

px=1024/2
py=(768+15)/2
anzp=1
anzpb=2
anzpe=5

Type part
Field x#,y#,g,sx#,sy#,fr,fg,fb
End Type

Type partb
Field x#,y#,g,sx#,sy#,fr,fg,fb
End Type

Type parte
Field x#,y#,sx#,sy#,fr,fg,fb
End Type

Function crpart()
For i=1 To anzp
p=New part
p\x=px-3
p\y=py-3
p\g=Rnd(3,6)
p\sx=((mx-px)/100+Rnd(-0.5,0.5))*3
p\sy=((my-py)/100+Rnd(-0.5,0.5))*3
p\fr=255
p\fg=255
p\fb=0
Next
End Function

Function crpartb()
ox=p\x
oy=p\y
osx=p\sx/2
osy=p\sy/2
Delete p
For i=1 To anzpb
pb=New partb
pb\x=ox
pb\y=oy
pb\g=Rnd(2,4)
pb\sx=(Rnd(-0.5,0.5)+osx)
pb\sy=(Rnd(-0.5,0.5)+osy)
pb\fr=255
pb\fg=0
pb\fb=0
Next
End Function

Function crparte()
ex=pb\x
ey=pb\y
esx=pb\sx/2
esy=pb\sy/2
Delete pb
For i=1 To anzpe
pe=New parte
pe\x=ex
pe\y=ey
pe\sx=(Rnd(-0.5,0.5))+esx
pe\sy=(Rnd(-0.5,0.5))+esy
pe\fr=255
pe\fg=255
pe\fb=0
Next
End Function

Function uppart()
For p=Each part
If p\x<1 p\x=2 p\sx=p\sx*-1
If p\y<16 p\y=17 p\sy=p\sy*-1
If p\x>1023-p\g p\x=1022-p\g p\sx=p\sx*-1
If p\y>767-p\g p\y=766-p\g p\sy=p\sy*-1
p\x=p\x+p\sx
p\y=p\y+p\sy
If p\fr=255 p\fg=p\fg-5
If farbe=0 Color p\fr,p\fg,p\fb
If farbe=1 Color p\fb,p\fr,p\fg
If farbe=2 Color p\fg,p\fb,p\fr
If farbe=3 Color p\fr,p\fb,p\fg
If farbe=4 Color p\fg,p\fr,p\fb
If farbe=5 Color p\fb,p\fg,p\fr
If farbe=6 Color p\fr,p\fr,p\fg
If farbe=7 Color p\fg,p\fr,p\fr
If farbe=8 Color p\fr,p\fg,p\fr
If farbe=9 Color p\fr,p\fg,p\fg
If farbe=10 Color p\fg,p\fr,p\fg
If farbe=11 Color p\fg,p\fg,p\fr
Oval p\x,p\y,p\g,p\g
If p\fr=255 And p\fg=0 And p\fb=0
crpartb()
EndIf
Next
End Function

Function uppartb()
For pb=Each partb
If pb\x<1 pb\x=2 pb\sx=pb\sx*-1
If pb\y<16 pb\y=17 pb\sy=pb\sy*-1
If pb\x>1023-pb\g pb\x=1022-pb\g pb\sx=pb\sx*-1
If pb\y>767-pb\g pb\y=766-pb\g pb\sy=pb\sy*-1
pb\x=pb\x+pb\sx
pb\y=pb\y+pb\sy
If pb\fr=255 pb\fg=pb\fg+5
If farbe=0 Color pb\fr,pb\fg,pb\fb
If farbe=1 Color pb\fb,pb\fr,pb\fg
If farbe=2 Color pb\fg,pb\fb,pb\fr
If farbe=3 Color pb\fr,pb\fb,pb\fg
If farbe=4 Color pb\fg,pb\fr,pb\fb
If farbe=5 Color pb\fb,pb\fg,pb\fr
If farbe=6 Color pb\fr,pb\fr,pb\fg
If farbe=7 Color pb\fg,pb\fr,pb\fr
If farbe=8 Color pb\fr,pb\fg,pb\fr
If farbe=9 Color pb\fr,pb\fg,pb\fg
If farbe=10 Color pb\fg,pb\fr,pb\fg
If farbe=11 Color pb\fg,pb\fg,pb\fr
Oval pb\x,pb\y,pb\g,pb\g
If pb\fr=255 And pb\fg=255 And pb\fb=0
crparte()
EndIf
Next
End Function

Function upparte()
For pe=Each parte
If pe\x<1 pe\x=2 pe\sx=pe\sx*-1
If pe\y<16 pe\y=17 pe\sy=pe\sy*-1
If pe\x>1023 pe\x=1022 pe\sx=pe\sx*-1
If pe\y>767 pe\y=766 pe\sy=pe\sy*-1
pe\x=pe\x+pe\sx
pe\y=pe\y+pe\sy
If pe\fr=255 And pe\fg>0 pe\fg=pe\fg-5
If pe\fg=0 pe\fr=pe\fr-5
If farbe=0 Color pe\fr,pe\fg,pe\fb
If farbe=1 Color pe\fb,pe\fr,pe\fg
If farbe=2 Color pe\fg,pe\fb,pe\fr
If farbe=3 Color pe\fr,pe\fb,pe\fg
If farbe=4 Color pe\fg,pe\fr,pe\fb
If farbe=5 Color pe\fb,pe\fg,pe\fr
If farbe=6 Color pe\fr,pe\fr,pe\fg
If farbe=7 Color pe\fg,pe\fr,pe\fr
If farbe=8 Color pe\fr,pe\fg,pe\fr
If farbe=9 Color pe\fr,pe\fg,pe\fg
If farbe=10 Color pe\fg,pe\fr,pe\fg
If farbe=11 Color pe\fg,pe\fg,pe\fr
Plot pe\x,pe\y
If pe\fr=0 And pe\fg=0 And pe\fb=0 Delete pe
Next
End Function

HidePointer

While Not KeyHit(1)

If farbe=0 Color 255,255,0 Text 900,1,\"GELB > \" Color 255,0,0 Text 960,1,\"ROT\"
If farbe=1 Color 0,255,255 Text 900,1,\"TÜRKIS > \" Color 0,255,0 Text 980,1,\"GRÜN\"
If farbe=2 Color 255,0,255 Text 900,1,\"LILA > \" Color 0,0,255 Text 960,1,\"BLAU\"
If farbe=3 Color 255,0,255 Text 900,1,\"LILA > \" Color 255,0,0 Text 960,1,\"ROT\"
If farbe=4 Color 255,255,0 Text 900,1,\"GELB > \" Color 0,255,0 Text 960,1,\"GRÜN\"
If farbe=5 Color 0,255,255 Text 900,1,\"TÜRKIS > \" Color 0,0,255 Text 980,1,\"BLAU\"
If farbe=6 Color 255,255,255 Text 900,1,\"WEIß > \" Color 255,255,0 Text 960,1,\"GELB\"
If farbe=7 Color 255,255,255 Text 900,1,\"WEIß > \" Color 0,255,255 Text 960,1,\"TÜRKIS\"
If farbe=8 Color 255,255,255 Text 900,1,\"WEIß > \" Color 255,0,255 Text 960,1,\"LILA\"
If farbe=9 Color 255,255,255 Text 900,1,\"WEIß > \" Color 255,0,0 Text 960,1,\"ROT\"
If farbe=10 Color 255,255,255 Text 900,1,\"WEIß > \" Color 0,255,0 Text 960,1,\"GRÜN\"
If farbe=11 Color 255,255,255 Text 900,1,\"WEIß > \" Color 0,0,255 Text 960,1,\"BLAU\"


Color 255,255,255
Text 1,1,\"1.Partikel: \"+anzp+\" ; 2.Partikel: \"+anzpb+\" ; 3.Partikel: \"+anzpe+\" ; Leertaste=Alles löschen ; Strg(+) | Alt(-)=Farbenändern\"
Plot px,py

Line 0,15,1024,15

mx=MouseX()
my=MouseY()

If my<15 my=15

If MouseDown(2)
px=mx
py=my
EndIf

If MouseDown(1)
crpart()
EndIf

If KeyHit(200)
anzp=anzp+1
If anzp>25 anzp=25
EndIf

If KeyHit(208)
anzp=anzp-1
If anzp<1 anzp=1
EndIf

If KeyHit(205)
anzpb=anzpb+1
If anzpb>25 anzpb=25
EndIf

If KeyHit(203)
anzpb=anzpb-1
If anzpb<1 anzpb=1
EndIf

If KeyHit(201)
anzpe=anzpe+1
If anzpe>25 anzpe=25
EndIf

If KeyHit(209)
anzpe=anzpe-1
If anzpe<1 anzpe=1
EndIf

If KeyHit(29)
farbe=(farbe+1) Mod 12
EndIf

If KeyHit(56)
farbe=farbe-1
If farbe<0 farbe=11
EndIf

If KeyDown(57)
For p=Each part
Delete p
Next
For pb=Each partb
Delete pb
Next
For pe=Each parte
Delete pe
Next
EndIf

uppart()
uppartb()
upparte()
Color 255,255,255
Oval mx-3,my-3,6,6,0
Flip
Cls
Wend
End


Jetzt kommt mal alles umgekehrt...
Hinterdrund weiß und alle Farbverläufe umgekehrt!
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

pokop

BeitragFr, Mai 06, 2005 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
(dann werd ich mal antworten:)

Das ist ja hammergeil. Besonders gut finde ich, wenn die Partikel am ende immer explodieren und es noch mehr werden. leider kann ich es nicht in ganzer pracht bewundern, weil es meinem Computer ein wenig zu viel wird. Evil or Very Mad

Devils Child

BeitragSa, Mai 07, 2005 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
NUN ZIEHT EUCH EINER MAL MEINE PARTIKEL-DEMO REIN1

Code: [AUSKLAPPEN]

Graphics3D 640, 480, 32, 2
AmbientLight 255, 255, 255
SetBuffer BackBuffer()
SeedRnd MilliSecs()

;Camera
Cam = CreateCamera()
CameraRange Cam, .1, 1000000
CameraClsColor Cam, 70, 70, 255

;Vertex
Vertex = CreatePivot()

;Sprites
Global Fire[100], Smoke3[100]
Dim xtrans2#(100), ytrans2#(200), ztrans2#(200)
For i = 1 To 100
  Fire[i] = LoadSprite("Smoke.bmp")
  EntityColor Fire[i], Rnd(150, 255), Rnd(0, 100), 0
  xtrans2#(i) = Rand(-100, 100)
  ytrans2#(i) = Rand(0, 400)
  ztrans2#(i) = Rand(-100, 100)
  xtrans2#(i) = xtrans2#(i) / 10000
  ytrans2#(i) = ytrans2#(i) / 10000
  ztrans2#(i) = ztrans2#(i) / 10000

  Smoke3[i] = LoadSprite("Smoke.bmp")
  EntityAlpha Smoke3[i], .1
Next

cnt1 = 1
cnt2 = 50

PositionEntity Cam, 0, 0, 5
While Not KeyHit(1)
  If KeyDown(200) Then p2 = p2 - 1
  If KeyDown(208) Then p2 = p2 + 1
  If KeyDown(203) Then p1 = p1 + 1
  If KeyDown(205) Then p1 = p1 - 1
  PositionEntity Cam, Sin(p1) * 5, Cos(p2) * 5, Cos(p1) * 5
  PointEntity Cam, Vertex

  cnt1 = cnt1 + 1: If cnt1 > 100 Then cnt1 = 1
  cnt2 = cnt2 + 1: If cnt2 > 100 Then cnt2 = 1
  PositionEntity Fire[cnt1], 0, 0, 0
  PositionEntity Smoke3[cnt2], 0, 0, 0
  For i = 1 To 100
    TranslateEntity Fire[i], xtrans2#(i), ytrans2#(i), ztrans2#(i)
    TranslateEntity Smoke3[i], xtrans2#(i), ytrans2#(i), ztrans2#(i)
  Next

  RenderWorld
  Flip
Wend

hamZta

Administrator

BeitragSa, Mai 07, 2005 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm?

das hat weder was mit dem post zu tun, noch funktioniert es -.-

überleg dir vorher was du tust junge!

hamZta
Blog.

Devils Child

BeitragSa, Mai 07, 2005 22:14
Antworten mit Zitat
Benutzer-Profile anzeigen
das habe ich geposet, nur um mal nett zu sein, und es funktioniert
erst, wenn du "Smoke.bmp", in den ordner tust. das ist das bild von einem
der partikel.
du findest soeins, indem du in c:\...\blitz3d\sampels\... nach "smoke" suchst. Wink

ChaosCoder

BeitragSo, Mai 08, 2005 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
So... freut mich das jetzt mal jemand geantwortet hat...

@ devils child

Was soll das???
Mach doch deinen eigenen thread auf!
Immerhin passt es gar net zum thema...

Egal...
Ich dachte schon der thread wär gestorben... aber schön das jemand geantwortet hat...
Jetzt ist alles mit weißem hintergrund und umgekehrte Farbverläufe...
Hoffe es gefällt euch wieder...

BlitzBasic: [AUSKLAPPEN]

Graphics 1024,768,16,1
SetBuffer BackBuffer()
SeedRnd MilliSecs()

Global p.part
Global pb.partb
Global pe.parte
Global ox#,oy#,ex#,ey#,esx,esy,osx,osy
Global mx,my
Global anzp,anzpb,anzpe
Global px#,py#
Global farbe

ClsColor 255,255,255

px=1024/2
py=(768+15)/2
anzp=1
anzpb=2
anzpe=5

Type part
Field x#,y#,g,sx#,sy#,fr,fg,fb
End Type

Type partb
Field x#,y#,g,sx#,sy#,fr,fg,fb
End Type

Type parte
Field x#,y#,sx#,sy#,fr,fg,fb
End Type

Function crpart()
For i=1 To anzp
p=New part
p\x=px-3
p\y=py-3
p\g=Rnd(3,6)
p\sx=((mx-px)/100+Rnd(-0.5,0.5))*3
p\sy=((my-py)/100+Rnd(-0.5,0.5))*3
p\fr=0
p\fg=0
p\fb=255
Next
End Function

Function crpartb()
ox=p\x
oy=p\y
osx=p\sx/2
osy=p\sy/2
Delete p
For i=1 To anzpb
pb=New partb
pb\x=ox
pb\y=oy
pb\g=Rnd(2,4)
pb\sx=(Rnd(-0.5,0.5)+osx)
pb\sy=(Rnd(-0.5,0.5)+osy)
pb\fr=0
pb\fg=255
pb\fb=255
Next
End Function

Function crparte()
ex=pb\x
ey=pb\y
esx=pb\sx/2
esy=pb\sy/2
Delete pb
For i=1 To anzpe
pe=New parte
pe\x=ex
pe\y=ey
pe\sx=(Rnd(-0.5,0.5))+esx
pe\sy=(Rnd(-0.5,0.5))+esy
pe\fr=0
pe\fg=0
pe\fb=255
Next
End Function

Function uppart()
For p=Each part
If p\x<1 p\x=2 p\sx=p\sx*-1
If p\y<16 p\y=17 p\sy=p\sy*-1
If p\x>1023-p\g p\x=1022-p\g p\sx=p\sx*-1
If p\y>767-p\g p\y=766-p\g p\sy=p\sy*-1
p\x=p\x+p\sx
p\y=p\y+p\sy
If p\fr=0 p\fg=p\fg+5
If farbe=0 Color p\fr,p\fg,p\fb
If farbe=1 Color p\fb,p\fr,p\fg
If farbe=2 Color p\fg,p\fb,p\fr
If farbe=3 Color p\fr,p\fb,p\fg
If farbe=4 Color p\fg,p\fr,p\fb
If farbe=5 Color p\fb,p\fg,p\fr
If farbe=6 Color p\fr,p\fr,p\fg
If farbe=7 Color p\fg,p\fr,p\fr
If farbe=8 Color p\fr,p\fg,p\fr
If farbe=9 Color p\fr,p\fg,p\fg
If farbe=10 Color p\fg,p\fr,p\fg
If farbe=11 Color p\fg,p\fg,p\fr
Oval p\x,p\y,p\g,p\g
If p\fr=0 And p\fg=255 And p\fb=255
crpartb()
EndIf
Next
End Function

Function uppartb()
For pb=Each partb
If pb\x<1 pb\x=2 pb\sx=pb\sx*-1
If pb\y<16 pb\y=17 pb\sy=pb\sy*-1
If pb\x>1023-pb\g pb\x=1022-pb\g pb\sx=pb\sx*-1
If pb\y>767-pb\g pb\y=766-pb\g pb\sy=pb\sy*-1
pb\x=pb\x+pb\sx
pb\y=pb\y+pb\sy
If pb\fr=0 pb\fg=pb\fg-5
If farbe=0 Color pb\fr,pb\fg,pb\fb
If farbe=1 Color pb\fb,pb\fr,pb\fg
If farbe=2 Color pb\fg,pb\fb,pb\fr
If farbe=3 Color pb\fr,pb\fb,pb\fg
If farbe=4 Color pb\fg,pb\fr,pb\fb
If farbe=5 Color pb\fb,pb\fg,pb\fr
If farbe=6 Color pb\fr,pb\fr,pb\fg
If farbe=7 Color pb\fg,pb\fr,pb\fr
If farbe=8 Color pb\fr,pb\fg,pb\fr
If farbe=9 Color pb\fr,pb\fg,pb\fg
If farbe=10 Color pb\fg,pb\fr,pb\fg
If farbe=11 Color pb\fg,pb\fg,pb\fr
Oval pb\x,pb\y,pb\g,pb\g
If pb\fr=0 And pb\fg=0 And pb\fb=255
crparte()
EndIf
Next
End Function

Function upparte()
For pe=Each parte
If pe\x<1 pe\x=2 pe\sx=pe\sx*-1
If pe\y<16 pe\y=17 pe\sy=pe\sy*-1
If pe\x>1023 pe\x=1022 pe\sx=pe\sx*-1
If pe\y>767 pe\y=766 pe\sy=pe\sy*-1
pe\x=pe\x+pe\sx
pe\y=pe\y+pe\sy
pe\fr=pe\fr+5
pe\fg=pe\fg+5
If farbe=0 Color pe\fr,pe\fg,pe\fb
If farbe=1 Color pe\fb,pe\fr,pe\fg
If farbe=2 Color pe\fg,pe\fb,pe\fr
If farbe=3 Color pe\fr,pe\fb,pe\fg
If farbe=4 Color pe\fg,pe\fr,pe\fb
If farbe=5 Color pe\fb,pe\fg,pe\fr
If farbe=6 Color pe\fr,pe\fr,pe\fg
If farbe=7 Color pe\fg,pe\fr,pe\fr
If farbe=8 Color pe\fr,pe\fg,pe\fr
If farbe=9 Color pe\fr,pe\fg,pe\fg
If farbe=10 Color pe\fg,pe\fr,pe\fg
If farbe=11 Color pe\fg,pe\fg,pe\fr
Plot pe\x,pe\y
If pe\fr=255 And pe\fg=255 And pe\fb=255 Delete pe
Next
End Function

HidePointer

While Not KeyHit(1)

If farbe=0 Color 0,0,255 Text 850,1,(farbe+1)+\". BLAU > \" Color 0,255,255 Text 930,1,\"TÜRKIS\"
If farbe=1 Color 255,0,0 Text 850,1,(farbe+1)+\". ROT > \" Color 255,0,255 Text 930,1,\"LILA\"
If farbe=2 Color 0,255,0 Text 850,1,(farbe+1)+\". GRÜN > \" Color 255,255,0 Text 930,1,\"GELB\"
If farbe=3 Color 0,255,0 Text 850,1,(farbe+1)+\". GRÜN > \" Color 0,255,255 Text 930,1,\"TÜRKIS\"
If farbe=4 Color 0,0,255 Text 850,1,(farbe+1)+\". BLAU > \" Color 255,0,255 Text 930,1,\"LILA\"
If farbe=5 Color 255,0,0 Text 850,1,(farbe+1)+\". ROT > \" Color 255,255,0 Text 930,1,\"GELB\"
If farbe=6 Color 0,0,0 Text 850,1,(farbe+1)+\". SCHWARZ > \" Color 0,0,255 Text 960,1,\"BLAU\"
If farbe=7 Color 0,0,0 Text 850,1,(farbe+1)+\". SCHWARZ > \" Color 255,0,0 Text 960,1,\"ROT\"
If farbe=8 Color 0,0,0 Text 850,1,(farbe+1)+\". SCHWARZ > \" Color 0,255,0 Text 960,1,\"GRÜN\"
If farbe=9 Color 0,0,0 Text 850,1,(farbe+1)+\". SCHWARZ > \" Color 0,255,255 Text 960,1,\"TÜRKIS\"
If farbe=10 Color 0,0,0 Text 850,1,(farbe+1)+\". SCHWARZ > \" Color 255,0,255 Text 960,1,\"LILA\"
If farbe=11 Color 0,0,0 Text 850,1,(farbe+1)+\". SCHWARZ > \" Color 255,255,0 Text 960,1,\"GELB\"


Color 0,0,0
Text 1,1,\"1.Partikel: \"+anzp+\" ; 2.Partikel: \"+anzpb+\" ; 3.Partikel: \"+anzpe+\" ; Leertaste=Alles löschen ; Strg(+) | Alt(-)=Farbenändern\"
Plot px,py

Line 0,15,1024,15

mx=MouseX()
my=MouseY()

If my<15 my=15

If MouseDown(2)
px=mx
py=my
EndIf

If MouseDown(1)
crpart()
EndIf

If KeyHit(200)
anzp=anzp+1
If anzp>25 anzp=25
EndIf

If KeyHit(208)
anzp=anzp-1
If anzp<1 anzp=1
EndIf

If KeyHit(205)
anzpb=anzpb+1
If anzpb>25 anzpb=25
EndIf

If KeyHit(203)
anzpb=anzpb-1
If anzpb<1 anzpb=1
EndIf

If KeyHit(201)
anzpe=anzpe+1
If anzpe>25 anzpe=25
EndIf

If KeyHit(209)
anzpe=anzpe-1
If anzpe<1 anzpe=1
EndIf

If KeyHit(29)
farbe=(farbe+1) Mod 12
EndIf

If KeyHit(56)
farbe=farbe-1
If farbe<0 farbe=11
EndIf

If KeyDown(57)
For p=Each part
Delete p
Next
For pb=Each partb
Delete pb
Next
For pe=Each parte
Delete pe
Next
EndIf

uppart()
uppartb()
upparte()
Color 0,0,0
Oval mx-3,my-3,6,6,0
Flip
Cls
Wend
End


Ich hab schon ne neue idee, was man mit den partikeln noch so anstellen könnte...
zeig ich euch, wenn sich wieder ein paar melden...
Rolling Eyes
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group