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

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

Rotate [Delphi, Windows, XP]


Страницы:   1 2

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.


Страницы:   1 2

Наверх

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