2D - Effekt: Wie ein Tuch... Schaut es euch an! von ??? |
Interessanter Effekt: Mit der Maus beeinflussbar. [code:1:4a172fe190] ;Abstossung (c) 2003 by AdbA ;============================= ;Spielfeld erzeugen Const mx#=800 Const my#=600 Graphics mx, my, 32, 1 SetBuffer BackBuffer() SeedRnd MilliSecs() font=LOADFONT("impact",16) setfont font ;===TYPES=== type Atom field x#,y#,dx#,dy#,c# end type ;=========== z=20 DIM wasser.atom((mx-20)/z,(my-20)/z) for x=0 to (mx-20)/z step 1 for y=0 to (my-20)/z step 1 wasser(x,y) = new atom wasser(x,y)x#=x*z+10+rand(-200,200) wasser(x,y)y#=y*z+10+rand(-200,200) wasser(x,y)dx#=0 wasser(x,y)dy#=0 wasser(x,y)c=128+rand(0,127) next next mdx#=0 mdy#=0 d=0 While Not KeyDown(1) Cls mox=MouseX() moy=Mousey() wasser(0,0)x#=0 wasser(0,0)y#=0 wasser((mx-20)/z,(my-20)/z)x#=(mx-20) wasser((mx-20)/z,(my-20)/z)y#=(my-20) wasser((mx-20)/z,0)x#=(mx-20) wasser(0,(my-20)/z)y#=(my-20) wasser((mx-20)/z,0)y#=0 wasser(0,(my-20)/z)x#=0 for y=0 to (my-20)/z step 1 wasser(0,y)y#=y*z+sin(d+y)*150 wasser(0,y)x#=10; next d=d+10 mod 360 for x=0 to (mx-20)/z step 1 if x>0 then xm=1 else xm=0 if x<(mx-20)/z then xp=1 else xp=0 for y=0 to (my-20)/z step 1 if y>0 then ym=1 else ym=0 if y<(my-20)/z then yp=1 else yp=0 wasser(x,y)dx# = (wasser(x+xp,y)x# + wasser(x-xm,y)x# + wasser(x,y+yp)x# + wasser(x,y-ym)x#)/4 - wasser(x,y)x# wasser(x,y)dy# = (wasser(x+xp,y)y# + wasser(x-xm,y)y# + wasser(x,y+yp)y# + wasser(x,y-ym)y#)/4 - wasser(x,y)y# mdx#=mox-wasser(x,y)x# mdy#=moy-wasser(x,y)y# if abs(mdx#^2+mdy#^2)>5400 then mdx#=0 mdy#=0 endif wasser(x,y)x#=wasser(x,y)x#+wasser(x,y)dx#/1-mdx/10 wasser(x,y)y#=wasser(x,y)y#+wasser(x,y)dy#/1-mdy/10 if mdx=0 and mdy=0 then color 0,0,wasser(x,y)c else color 255*(74-sqr(mdx#^2+mdy#^2))/75,255*(74-sqr(mdx#^2+mdy#^2))/75,wasser(x,y)c endif line wasser(x,y)x,wasser(x,y)y,wasser(x+xp,y)x,wasser(x+xp,y)y ;line wasser(x,y)x,wasser(x,y)y,wasser(x-xm,y)x,wasser(x-xm,y)y line wasser(x,y)x,wasser(x,y)y,wasser(x,y+yp)x,wasser(x,y+yp)y ;line wasser(x,y)x,wasser(x,y)y,wasser(x,y-ym)x,wasser(x,y-ym)y ;OVAL wasser(x,y)x-2,wasser(x,y)y-2,4,4,1 next next Flip Wend End [/code:1:4a172fe190] |
von ??? |
Total geil! Nur ist es ein bisschen langsam, oder kommt mir das nur so vor? [EDIT] Aber gehört das nicht eher ins CodeArchiv? |
von ??? |
Naja wenn es langsam ist dann liegt das vermutlich an deinem PC aber es ist - das gebe ich zu - nicht sehr tempooptimiert programmiert. ich habe ein 1.7 p4m prozessor und eine 32mb ati 7500 radeon mobility grafikkarte. |
von ??? |
Na ja, ich glaube nicht, dass es an meinem PC liegt: 1.8 GHz P4 | 64mb GeForce3 Ti 200 Der Grund waren wahrscheinlich die nebenbei laufen Programme... Trotzdem, wie gesagt, der Effekt gefällt mir sehr! |
von ??? |
Netter Effekt, aber das mit dem Gitter gefällt mir nicht so (Keine Ahnung ob es besser geht, hab sowas noch nicht gemacht) :wink: |
von ??? |
Hmm also ich hab nen Athlon 900 mit GeForce 2 MX und beio mir gehts relativ fließend ( und PS mein PC ist scheisse !!!! ) ... naja aber ich finde es sieht cool aus ... nur was bedeuted der Effekt mit der Maus ... ist das ein Föhn die Maus oder eine Lupe oder ein Zerrer ??? |
von ??? |
Ich bin wirklich erstaunt wie schnell der Line Befehl ist. Läuft bei mir absolut flüssig |
von ??? |
Bei mir auch! Echt gut das Teil! |
von ??? |
[quote:7e2c08a6ce="CodeMaster"]Total geil! Nur ist es ein bisschen langsam, oder kommt mir das nur so vor? [EDIT] Aber gehört das nicht eher ins CodeArchiv?[/quote:7e2c08a6ce] Punkt 1, Debuger ausschalten Punkt 2, kann sein oder auch nicht... @adba, ist dies ein Projekt? Sieht echt gut aus! |
von ??? |
sieht echt klasse aus =) |
von ??? |
Wow ... :shock: Sieht wirklich toll aus ! CYA ! |
von ??? |
Toll, absolut flüssig auch bei 900Mhz |
von ??? |
Kann ich toppen, mit 766Mhz. Schön, aber schade das das Tuch sich so komisch zusammenzieht. |
von ??? |
Is das goil :shock: Das sollte mal jemand als 3D-Version mit textur und polys machen :wink: |
von ??? |
:-S Frisst das Forum Posts? :shock: --- -> sieht gut aus [ot]lange her, adba :)[/ot] |
von ??? |
Nein das ist kein Prjekt. Ich hatte mal diesew Idee und habe es danach umgesetzt. Das finde ich schon interessanter: [code:1:134927e2d5]Const mx=1024 Const my=768 Const mr=8 m=4 n=4 Const anz=6 Const auf=25 Dim ma(anz,5) Graphics 1024,768,32,1 SetBuffer BackBuffer() SeedRnd MilliSecs() For a=1 To anz r=2+Rand(1,mr) x=Rand(1,mx-2*r)+r y=Rand(1,my-2*r)+r ma(a,1)=x ma(a,2)=y ma(a,3)=r rx=Rand(1,2) If rx=1 Then ma(a,4)=-m Else ma(a,4)=m EndIf rx=Rand(1,2) If rx=1 Then ma(a,5)=-n Else ma(a,5)=n EndIf Next wi=0 While Not KeyDown(1) Cls Color 255,255,255 ;Text 1,1,"(c) 2003 by AdbA" For a=1 To anz x=ma(a,1) y=ma(a,2) r=ma(a,3) m=ma(a,4) n=ma(a,5) x=x+m y=y+n If y>my-r Then y=my-r n=n*-1 ElseIf y<r Then y=r n=n*-1 EndIf If x>mx-r Then x=mx-r m=m*-1 ElseIf x<r Then x=r m=m*-1 EndIf ma(a,1)=x ma(a,2)=y ma(a,4)=m ma(a,5)=n Color Sin(360/mr*r)*127+128,Sin(360/mr*r+120)*127+128,Sin(360/mr*r+240)*127+128 ;Oval x-r,y-r,r*2,r*2 Next If MouseX()<>0 Or MouseY()<>0 Then ;End EndIf ma(1,2)=MouseY() ma(1,1)=MouseX() x=ma(1,1) Y=ma(1,2) Oval x-r,y-r,r*2,r*2 Color 255,0,0 wi=wi+3 If wi>360 Then wi=wi-360 For xx=auf To mx-auf Step auf For yy=auf To my-auf Step auf dx#=0 dy#=0 For a=1 To anz r=ma(a,3) tdx#=xx-ma(a,1) tdy#=yy-ma(a,2) td#=tdx#^2+tdy#^2 If td#<>0 Then dx#=dx#+tdx#*r/td# dy#=dy#+tdy#*r/td# EndIf Next d#=Sqr(dx#^2+dy#^2) cd=d*1000 If cd>255 Then cd=255 cr#=Sin(wi+ATan2(dy#,dx#)*10)*127+128 cg#=Sin(20+wi+ATan2(dy#,dx#)*10)*127+128 cb#=Sin(40+wi+ATan2(dy#,dx#)*10)*127+128 f#=1;cd/255;255/(256-cd) Color cr*f#,cg*f#,cb*f# If d#<>0 Then dx#=dx*auf/d# dy#=dy*auf/d# dx#=dx#*2;/2 dy#=dy#*2;/2 Line xx,yy,xx+dx#,yy+dy# ;Line xx,yy,xx-dx#,yy-dy# ;Line xx,yy,xx-dx#,yy+dy# ;Line xx,yy,xx+dx#,yy-dy# Else Line xx,yy,xx,yy EndIf Next Next Flip If KeyDown(28) Then SaveBuffer(FrontBuffer(),"screenshot.bmp") End End If Wend End[/code:1:134927e2d5] |
von ??? |
ich seh da zwar keine regelmäßigkeit , seh auch nicht eindeutig wie die maus das beinflusst ( das sie es tut seh ich schon aber wie ?!? ) sieht aber trotzdem sehr sehr cool aus |
von ??? |
schöne Farben gewählt. Die Linien, bei der die Maus am nächsten ist (und nicht so ein anderes herumschwirrendes Teil) richten sich im Winkel auf die Mausposition aus. _____________________ haha, hab heute Feiertag! |
von ??? |
Nun denn, [b:e1083e8b57]VERSCHOBEN[/b:e1083e8b57] ins Codearchiv. |
von ??? |
Sehr cool, läuft flüssig mit Debug auf meiner 800Mhz/GeForce2MX Kiste. |
von ??? |
Sieht echt cool aus! |