Показать сообщение отдельно
Старый 15.01.2012, 17:02   #40
FireOwl
Бывалый
 
Аватар для FireOwl
 
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений
(для 1,836 пользователей)
Ответ: Опять проблемы.

deltax#=0
deltay#=0
speed#=0

If KeyDown(200)  Then deltay#=-1
If KeyDown(208)  Then deltay#=1
If KeyDown(205) Then deltax#=1
If KeyDown(203) Then deltax#=-1

(громоздко конечно)
If KeyDown(203) Or KeyDown(208) Or KeyDown(205) Or KeyDown(200) Then 
speed#=5.0
EndIf

(пусть px - временные, а x - окончательные координаты)
px=x+deltax*speed
py=y+deltay*speed

If px<0 Then px=1280
If px>1280 Then px=0
If py<0 Then py=1024
If py>1024 Then py=0

***отдельно где-то, где все функции***
Function CollideStones(px,py)
	For s.stone=Each stone
		(коллизия или проверка координат, все равно вроде)
		If ImagesCollide(player,px,py,0,stoneimage,s\x, s\y, 0)
			Return True
		EndIf
	Next
	Return False
End Function
***

If Not CollideStones(px,py) then
	x=px
	y=py
Endif
Вот, я бы так переделал.
__________________
N"Gasta! Kvata! Kvakis!
Ahkstas so novajxletero (oix jhemile) so Ranetauw.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nikich (15.01.2012)