Тема: [pascal]Graph
Показать сообщение отдельно

  #12  
Старый 27.10.2007, 01:38
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

G1yuK ответил наиболее правильно.

Просто определяешь dx и dy
dx:=sin(угол)*скорость;
dy:=cos(угол)*скорость;

а потом в цикле прибавляешь их к x и y
x:=x+dx;
y:=y+dy;
if ((x<rect.left) or (x>rect.right)) then dx:=-dx;
if ((y<rect.top) or (y>rect.bottom)) then dy:=-dy;

и перерисовываешь точку

That's it!
 
Ответить с цитированием