![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вопрос от чайника [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]какие проблемы? я не вижу их. нужно лишь менять скорость приращения той или иной координаты объекта.
и еще.
приморов на эту тему - море.