Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Непослушный спрайт


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 к координатам.




Наверх

Титульная страница Поиск, карта сайта Написать письмо