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

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

Сразу несколько вопросов по созданию игр. [Delphi, Windows]


Страницы:   1 2

Wish ©   (2004-10-30 14:08:00) 

Здравствуйте, я создаю игру с видом сверху как в GTA 1 или 2. Возникло несколько вопросов:

1. У меня есть переменные yspeed и xspeed для кадой пули, которые отпределяют куда полетит пуля, как мне найти эти величины из позиции игрока(x и y) и положения мышки?

2. Понимаю что вопрос глупый, но как преобразовать double в integer и наоборот.

3. Можно ли использовать в DelphiX сразу два TDXInput?

Прошу вас с пониманием отнестить ко мне с моими вопросами, я в создании игр на Delphi новичек, только прочитал пару статей и знаю основы, помогите пожалуйста.


Wish   (2004-10-31 22:43:00) [1]

Ок, все работает, а как сделать чтобы isup, isleft и т.д. не распространялось на мышку, а только на клаву?


Zer0   (2004-10-31 22:23:00) [2]

продолжая идею Servelat:
dx=(x0-x); dy=(y0-y);
далее находим длинну вектора (dx;dy)
d=sqrt(dx*dx+dy*dy);
далее если поделить каждую из составляющих на его длинну то вертор нормализуется (его длинна будет равна 1)

значит
xspeed=dx*speed/d
yspeed=dy*speed/d

где speed - скорость пульки.

а вообще надо находить угол поворота перса, в руках у которого пушка. а потом уже синусами и косинусами напраление полета считать.

учите матчасть(c)

---
skl-4ever


Servelat   (2004-10-31 21:45:00) [3]


> А как программно решить систему уровнений?

Ты реши на бумажке, а в программу только окончательную формулу сунь. Я бы мог сам тебе посчитать, но 1)тебе полезно напрягать мозги 2)мне лень :).


Kind   (2004-10-31 21:29:00) [4]

Учиться на примерах полезно, но надо ещё и настольное руководство иметь, для начала просто по Delphi.

var
 a,b: double;
 c,d: integer;
begin

c := 123;
a := 456.123;
b := c + a; // Integer c Double
d := Round(b); // Double в Integer


Wish   (2004-10-31 21:11:00) [5]

Блин, как выполнять действия с Integer и Double, напишите пример, мне ответили double(). Только ничего не понятно, все равно, можите пример показать?


wiz   (2004-10-31 20:41:00) [6]

2 Поручик: MatLab рулит!!!! ну или в крайнем случае - Excel... :)))))))


Поручик   (2004-10-31 19:46:00) [7]

Можно в AutoCad'е


Wish   (2004-10-31 19:42:00) [8]

А как программно решить систему уровнений?


Wish   (2004-10-31 19:26:00) [9]

2 Servelat
Спасиба, буду думать.


Servelat   (2004-10-30 22:40:00) [10]

Объясняю :).
Из подобия треугольников:

dx/dy=(x0-x)/(y0-y)

x,y - координаты, откуда выстрел, x0, y0 - координаты мыша.
Также тебе дана скорость пули (например 5 пикселей, то есть на сколько будет сдвигаться пуля за каждый промежуток времени, между действиями: PulaX:=PulaX+dx; PulaY:=PulaY+dy). Чем больше скорость, тем быстрее летит пуля (это может зависеть от типа ружья или просто быть константой). Дак вот, если скорость пули speed, то:

dx*dx+dy*dy=speed*speed

(теорема Пифагора)
Получается 2 уравнения с двумя неизвестными. Системы уравнений вас решать уже научили, надеюсь?


Wish   (2004-10-30 21:27:00) [11]

Черт, нифига не понятно, подскажите пожалутса!!!!


Wish   (2004-10-30 19:55:00) [12]

Я щас в 8 классе. Нужна посмотреть...


Поручик   (2004-10-30 19:51:00) [13]

Иди, у друзей поищи учебник геометрии за 8 класс


Wish   (2004-10-30 18:13:00) [14]

Отзовитесь пожалуйста, у меня пол мега на счету осталось!!!


Wish   (2004-10-30 17:07:00) [15]

опа... случайно поставил... =)
ну ответьте пожалйста, у меня инета кончился почти =(, мне нужно щас узнать а потом в офлайне все реальзововать.


wiz   (2004-10-30 16:59:00) [16]

2 Wish [7]: тогда зачем в анкете писать "Образование: высшее" ???


Wish   (2004-10-30 16:50:00) [17]

А если я еще не проходил эту теорему? ^_^


Поручик   (2004-10-30 16:39:00) [18]

А ты сам сообрази, теорема Пифагора, всякие правила, типа катет равен произведению гипотенузы на cos прилежащего или sin противолежащего угла и тд.


Wish   (2004-10-30 16:01:00) [19]

Я не смог выдрать решения вопроса 1 из примеров, там ваще на DelphiX не ничего, можеш мне показать?


Wish   (2004-10-30 14:46:00) [20]

ЗЫ. Спасиба огромное за ответы, буду пробывать.


Страницы:   1 2

Наверх

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