![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Непослушный спрайт
seemann © (2002-10-06 19:05:00)Скажите пожалуйста, как можно заставить спрайт двигаться к курсору? Имеется 8 углов спрайта.
Дьякон ФРОСТ (2002-11-28 00:24:00) [1]1. коодинаты спрайта Xs, Ys
2. координаты курсора Xc, Yc
3. если не совпадают то
3.1. Xs:=Xs+(Xc-Xs)/k
3.2. Ys:=Ys+(Yc-Ys)/k
где k - коеффициент определяющий скорость сближения
при K=1 сближение моментальное
Mirovodin (2002-10-07 00:06:00) [2]1) Вычислить координаты спрайта (X1, X2)
2) Вычислить координаты курсора (Y1, Y2)
3) Рассчитать угол между нормалью (например направлением на север) и вектором (X1,X2, Y1,Y2)
4) По известному углу найти необходимые смещения по оси X и Y. формулы для рассчета называются "Тригонометрические функции". Т.е. смещение рассчитывается по известному углу и одно стороне прямоугольника - это скорость спрайта.
Это общий способ. Если углы кратны 45 можно просто прибавлять всегда по 1 к координатам.