![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Rotate [Delphi, Windows, XP]
Goo © (2006-06-26 02:51:00)Я пишу игру типа "Диверсант" на DelphiX. Кто не знает такую игру, то объясняю: там по центру внизу стоит башня с пушкой, которой управляет игрок, а сверху пролетают вертолёты и высаживают парашутистов, которых надо уничтожить, пока они не приземлились и не уничтожили башню.
Проблема в чём:
1. Как сделать, чтобы пушка наклонялась влево/вправо?
2. Как сделать, чтобы патроны летели в нужном направлении?
П.С: Патроны и ствол пушки спрайты.
Помогите плиз.
Cash (2006-06-29 17:45:00) [21]> могу привести работающий пример на дельфиХ
Да ладно, тебе вроде верят... :)))
При том, что я тоже с GameDev.ru брал тот модуль, ставить его не стал,
потаму что он еще более тормозной чем DrawRotate.
tButton (2006-06-29 16:51:00) [22]
> tButton, нет. автор статей выше дописал повороты, там всего-
> то один pas заменить
не помню уж чей стоял у меня ДельфиХ в позапрошлом году на ноутбуке, но факт. нашёл архив проектов написан в тот период. вот выдержка из одного из них
if not plane.CanDraw then Exit;
plane.Surface.Fill(0);
images.Items.Find('ch').DrawRotate(plane.Surface, ch.x, ch.y, 32, 32, 0, 0.5, 0.5, ch.ang+64);
{
plane.Surface.Canvas.TextOut(Round(100+cos(0)*40), Round(100-sin(0)*40), '0');
plane.Surface.Canvas.TextOut(Round(100+cos(pi/2)*40), Round(100-sin(pi/2)*40), '90');
plane.Surface.Canvas.TextOut(Round(100+cos(pi)*40), Round(100-sin(pi)*40), '180');
plane.Surface.Canvas.TextOut(Round(100+cos(3*pi/2)*40), Round(100-sin(3*pi/2)*40), '270');
}
plane.Surface.Canvas.Release;
plane.Flip;
хотите сказать что это не стандартный метод?
могу привести работающий пример на дельфиХ с использованием этого метода
grouzd)ev (2006-06-27 13:31:00) [23]Goo, http://www.gamedev.ru/articles/?sect=11
tButton, нет. автор статей выше дописал повороты, там всего-то один pas заменить
---
... we are walking on a thin line and you better avoid the risk ...
Goo (2006-06-27 13:13:00) [24]Всё, вспомнил TSpriteImageEx
Goo (2006-06-27 12:57:00) [25]Как? Angle? Я забыл куда надо её вставлять и какой модуль подключать, мне бы простой пример
tButton (2006-06-27 04:37:00) [26]
> 1. Как сделать, чтобы пушка наклонялась влево/вправо?
а дельфиХ разве не позволяет отображать спрайты с поворотом?
Goo (2006-06-26 23:14:00) [27]Извените, но я по примерам не смог разобраться, пытался, все так сложно, может скинете ссылку на статью или уроки
grouzd)ev (2006-06-26 14:46:00) [28]> У меня с геометрией были не лады, хотя получил 4 в аттестат:)
а что делать, придется
>Уже нашел:)
ну вот, там еще и код есть
---
... we are walking on a thin line and you better avoid the risk ...
Goo (2006-06-26 13:37:00) [29]Уже нашел:)
Goo (2006-06-26 13:33:00) [30]
> antonn © (26.06.06 05:37) [1]
> на сайте http://code.darthman.com/news.phpможно натырить
> исходников игр, в которых попытаться разобраться:) конкурс
> Defence или Battle.
Я не нашел конкурс Defence или Battle. :-(
Goo (2006-06-26 13:11:00) [31]
> тригонометрия 7-8 класс
У меня с геометрией были не лады, хотя получил 4 в аттестат:)
grouzd)ev (2006-06-26 12:12:00) [32]
> 1. Как сделать, чтобы пушка наклонялась влево/вправо?
повернуть спрайт? на gamedev.ru были статьи, там был "патч" (?) позволявший их крутить
> 2. Как сделать, чтобы патроны летели в нужном направлении?
тригонометрия 7-8 класс
---
... we are walking on a thin line and you better avoid the risk ...
antonn (2006-06-26 05:37:00) [33]на сайте http://code.darthman.com/news.phpможно натырить исходников игр, в которых попытаться разобраться:) конкурс Defence или Battle.