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

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

вопрос от чайника [Delphi, Windows]


Elf ©   (2003-12-31 11:25:00) 

Я хочу сделать игру типа арканоид.Так вот как сделать чтобы щарик двигался по всей плоскости а не только по горизонтали и вертикали.
и отскакивал от стен под определённым углом.Заранее спасибо если кто ответит.


dRake   (2003-12-31 13:58:00) [1]

Чтобы двигался по всей плоскости введи 2 скорости SpeedX, SpeedY, они будут проекциями скорости шарика на оси X и Y
тогда у тебя за каждый проход движка координаты шарика будут :
KoordinataX := KoordinataX + SpeedX;
KoordinataY := KoordinataY + SpeedY;

Если ты хочешь задать какой-то начальный угол полёта шарика, то

SpeedX := cos(Angle*Pi/180)*BaseSpeed;
SpeedY := sin(Angle*Pi/180)*BaseSpeed;

Где Angle - этот угол в градусах, BaseSpeed - начальная скорость полёта

Чтобы отскакивал под углом нужно для столкновений сверху и снизу
менять скорость по Y (SpeedY := -SpeedY), для столкновений слева и справа соответственно менять скорость по X (SpeedX := -SpeedX).


kerby   (2003-12-31 12:44:00) [2]

ну типа x=x+dx,x=x-dx,y=y+dy,y=y-dy
x,y-координаты шарика
dx,dy - смещение по осям


Thor   (2003-12-31 11:30:00) [3]

какие проблемы? я не вижу их. нужно лишь менять скорость приращения той или иной координаты объекта.
и еще.
приморов на эту тему - море.


Наверх

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