Gravitation - von Codemaster von CodeMaster
Sehr cooler Effekt von Codemaster, bei drücken der linken Maustaste
werden alle Punkte von der Maus angezogen, bei der rechten Maustaste streben sie davon.

verdammt cool 8) :)

[code:1:877532393d]
SeedRnd MilliSecs()
Dim x#(1000),y#(1000),w#(1000),s#(1000),c(1000)
For i = 1 To 1000
x#(i) = Rand(800)
y#(i) = Rand(600)
w#(i) = Rand(359)
s#(i) = Rnd(1,5)
c(i) = Rand(100,255)
Next

Graphics 800,600
SetBuffer BackBuffer()

While Not KeyDown(1)
Cls
mx = MouseX()
my = MouseY()
Color 255,0,0
Rect mx-5,my,11,1,1
Rect mx,my-5,1,11,1
For i = 1 To 1000
If MouseDown(1) Then
wk1# = Winkel#(x(i),y(i),mx,my)
Difw# = (wk1# - w#(i)) Mod 360
If DifW# > 0 Then w#(i) = (w#(i) - 359 * 3) Mod 360
If DifW# < 0 Then w#(i) = (w#(i) + 1 * 3) Mod 360
If DifW# > 180 Then w#(i) = (w#(i) - 1 * 6) Mod 360
If DifW# < -180 Then w#(i) = (w#(i) + 369 * 6) Mod 360
ElseIf MouseDown(2) Then
wk1# = Winkel#(x(i),y(i),mx,my)
Difw# = (wk1# - w#(i)) Mod 360
If DifW# > 0 Then w#(i) = (w#(i) + 359 * 3) Mod 360
If DifW# < 0 Then w#(i) = (w#(i) - 1 * 3) Mod 360
If DifW# > 180 Then w#(i) = (w#(i) + 1 * 6) Mod 360
If DifW# < -180 Then w#(i) = (w#(i) - 369 * 6) Mod 360
End If
x#(i) = x#(i) + Cos(w#(i)) * s#(i)
y#(i) = y#(i) + Sin(w#(i)) * s#(i)
If x#(i) < 0 Then x#(i) = GraphicsWidth()
If y#(i) < 0 Then y#(i) = GraphicsHeight()
If x#(i) > GraphicsWidth() Then x#(i) = 0
If y#(i) > GraphicsHeight() Then y#(i) = 0
Color c(i),c(i),c(i)
Oval x#(i)-1,y#(i)-1,2,2,1
Next
Flip
Wend
End

Function Winkel#(x1,y1,x2,y2)
Dif# = x2 - x1
If Dif# = 0 Then Dif# = 0.001
Alpha# = (ATan((y2 - y1) / Dif#)) Mod 360
If x2 < x1 Then Alpha# = (180 + Alpha#) Mod 360
If (x2 > x1) And (y2 <= y1) Then Alpha# = (360 + Alpha#) Mod 360
If (x2 = x1) And (y2 < y1) Then Alpha# = (180 - Alpha#) Mod 360
Return Alpha#
End Function

Function Abstand#(x1,y1,x2,y2)
Temp# = Sqr((x2 - x1)^2 + (y2 - y1)^2)
Return Temp#
End Function
[/code:1:877532393d]



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