StaDi
@StaDi
Курьер в it отделе

Js анимация, как организовать единый интерфейс для фреймов?

Доброго времени, сообщество!
Такая ситуация: 2D игра, персонаж может ходить влево, вправо, поднимается вверх, используется фрейм анимация.
Как использовать единый интерфейс по работе с фрейм анимацией?

Есть класс/функция:
function Sprite(){
    this.size;        // [30,40] - ширина и высота спрайт элемента
    this.position;    // [0,0] - х, у
    this.frame;       // [0,1,2,3,4,5,6] - кадры на спрайт-карте
}


Соответственно для каждого из направлений движения у меня свой спрайт-лайн на общей спрайт-карте (влево, вправо, вверх)

И есть класс/функция для объекта в котором содержаться спрайты.
function Elem(){
    this.size       = {width: 0, height: 0};
    this.position   = {top: 0, left: 0};
    this.movement   = new Sprite();         // Храним актуальный спрайт

    this.sprite     = {
        left:  new Sprite(),
        right: new Sprite(),
        up:    new Sprite(),
    }

    this.status = {frame: 0, movement: 'left'};
}


Мой единый интерфейс это Elem().movement в который в зависимости от направления перезаписываются данные из Elem().sprite.(left,right,up)

т.е. если мой персонаж должен пойти вправо, то я перегружаю Elem().movement = Elem().sprite.right и продолжаю работать с анимацией в едином интерфейсе.

В этом мой вопрос:
На сколько верно я мыслю?
Как вообще решают такие задачи?
Где бы почитать про это всё дело?

Спасибо!
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы