![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с разворотом
NightFire © (2004-11-29 23:15:00)Вот тут небольшенькая проблема есть плеер (Tplayer) вот и надо его разворачивать под углом заданным мышкой или клавишами. Это значит, что надо сам рисунок ворочать, а как это сделать.?
XProger (2004-11-30 15:07:00) [1]Дык,
glPushMatrix;
glTranslatef(Player.X, Player.Y, 0);
glRotatef(Player.Angle, 0, 0, 1);
DrawPlayer;
glPopMatrix;
так бы это выглядело в OpenGL :)
NikeOLD (2004-11-30 13:04:00) [2]никак. DirectDraw не поддерживает аппаратный поворот растров, а жаль.
Извращение все это и тормоза. Хочешь, чтобы рисунок вращался - делай несколько спрайтов, заранее повернутых под разным углом. Например под углом 8-10 градусов для плавности. Т.о. у тебя будет 45-36 картинок, а дальше смотри куда мышка отклонилась от первоначальной позиции или какую клавишу нажали и меняй свою картинку. Во всех играх именно так сделано.
Много памяти, зато очень быстро, нежели 1 стационарный спрайт вертеть. А в игре важно быстродействие в первую очередь.
NightFire (2004-11-30 10:59:00) [3]>ну, положим, что и DX и OGL могут это делать самостоятельно по >твоему велению
>главное правильно повелеть.
Вот, а как правильно повелить в DelphiX
TButton (2004-11-30 03:45:00) [4]ну, положим, что и DX и OGL могут это делать самостоятельно по твоему велению
главное правильно повелеть.
XProger (2004-11-30 00:05:00) [5]Поворачивать рисунок...
Интересно колько в мире всего графических API существует? ;)