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!



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: