Зависит от нужной точности
Вид для печати
Предположим, что спрайт движется по оси 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)|...
А зачем вам синусы? Сделайте фиксированное число углов поворота, нарисуйте заранее повёрнутые спрайты. А для стрельбы хватит арктангенса: как здесь
Это ты о чем?
Все будет как в канонической версии (даже форма астероидов).
250 байт на описание 10 видов объектов + масштабирование + повороты с разрешением в один градус..
А со спрайтами как? Будет 365 спрайтов кораблика (или в четверть но с извратами)? :)
Мне такие больше по душе:
https://pic.maxiol.com/thumbs2/16026...630946.ast.png
https://pic.maxiol.com/thumbs2/16026...30946.ast2.png
https://pic.maxiol.com/thumbs2/16026...30946.ast3.png
Как-то так :)
- - - Добавлено - - -
Все будет зависеть от скорости арифметики.
С векторами можно гораздо больше эффектов взаимодействия придумать.
Сами же астероиды не масштабируются. И кораблик тоже.
Для кораблика достаточно 32 спрайта плюс зеркальные.