01.11.2012, 16:00
|
#1
|
ПроЭктировщик
Регистрация: 17.07.2009
Сообщений: 182
Написано 51 полезных сообщений (для 71 пользователей)
|
Полёт стрелы в 2d (сетке)
Может кто из вас делал подобное ,отпишитесь .
можно делиться идеями ,предложениями ну и конечно кодами ...
вот мой код:
Graphics 1024, 768
SetBuffer BackBuffer()
degree2# = 0
degree# = -45
speed# = 8
x#=200
y#=400
x0#=200
y0#=400
x1# = 600 : y1# = 600
While Not KeyHit(1)
Cls
mx#=MouseX():my#=MouseY()
dx#=(x1#)-(x#-ax#)
dy#=(y1#+ay#)-(y#-ay#) ;(my+ay)-(y#-ay)
d# = Sqr(dx#*dx# +dy#*dy#)
degree#=ATan2(dy,dx)
vx# =Sin(degree#)
vy# =Cos(degree#)
If d>5 Then
ay# = -(d#/5)
ax# = -(d#/5)
y# = y# + vx#*speed ; The Sin movement
x# = x# + vy#*speed ; The Cos movement
Color 200,200,200
Line x ,y,x-15*Sin(degree+90),y+15*Cos(degree+90)
Color 200,0,0
Oval x-2,y-2,4,4,1
EndIf
If KeyHit(57) Then
x#=x0#+5
y#=y0#-3
degree# = -45
EndIf
If MouseDown(1) Then
x1# = mx#
y1# = my#
x#=x0#+5
y#=y0#-3
degree# = -45
EndIf
Color 200,0,200
Rect x0-5,y0-10, 5,20
Color 20,120,20
Oval x0-3,y0-3,6,6,1
Oval x1-3,y1-3,6,6,1
Text 10,10,degree
Text 10,20,"dy "+d
Flip
Wend
End
|
(Offline)
|
|