Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).
Предположим, что спрайт движется по оси X по следующему закону:
X = Xo() + A*sin(z), где Amax = 639.
Тогда нам достаточно иметь табличную функцию синуса в виде её четверти периода с амплитудой 255 (условно sin255) , и представить закон так:
X = Xo + sin255(z) + sin255(z) + sin255(z)/2.
Как-то так, думаю
А если спрайт синусит вдоль X, где Amax = 255, то:
Y = Yo + sin255(z), к примеру.
Если скачет как мячик о низ экрана, примерно, так:
Y = 255 - |sin255(X)|...
Последний раз редактировалось TheGWBV; 11.10.2020 в 08:46.
Не волнуйтесь, моя бабушка водила трактор и пожарную машину (С)
nzeemin(11.10.2020)
А зачем вам синусы? Сделайте фиксированное число углов поворота, нарисуйте заранее повёрнутые спрайты. А для стрельбы хватит арктангенса: как здесь
manwe.pdp-11.ru
Это ты о чем?
Все будет как в канонической версии (даже форма астероидов).
250 байт на описание 10 видов объектов + масштабирование + повороты с разрешением в один градус..
А со спрайтами как? Будет 365 спрайтов кораблика (или в четверть но с извратами)?
Мне такие больше по душе:
Как-то так
- - - Добавлено - - -
Все будет зависеть от скорости арифметики.
С векторами можно гораздо больше эффектов взаимодействия придумать.
Последний раз редактировалось S_V_B; 13.10.2020 в 18:37.
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
Сами же астероиды не масштабируются. И кораблик тоже.
Для кораблика достаточно 32 спрайта плюс зеркальные.
manwe.pdp-11.ru
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)