Что-то не так с Groups.rotation? - PullRequest
       15

Что-то не так с Groups.rotation?

3 голосов
/ 25 января 2012

Я запустил пример StageTest.java в gdx-test, и это видео - результат, когда я нажимаю вращение.

Он не только вращает группу, но и перемещает ее, это ошибка ?? И еще одна проблема с происхождением в libgdx, каково происхождение в libgdx ?? На мой взгляд, ему нравится пивот, верно? Это значит

  • начало координат относительно позиции
  • спрайт вращается и масштабируется вокруг этого источника
  • Само начало координат никак не масштабируется и не поворачивается

Но иногда я вижу, что источник переместит текстуру, такую ​​как:

batch.draw(texture,x,y,originX,originY ..... );

конечная позиция текстуры будет

(x+originX); (y+originY)

Ответы [ 2 ]

0 голосов
/ 10 января 2014

Все это правильно:

  • начало координат относительно позиции
  • спрайт вращается и масштабируется вокруг этого источника
  • само происхождение никак не масштабируется и не поворачивается

Это не:

Но иногда я вижу, что источник переместит текстуру, такую ​​как:

batch.draw (текстура, x, y, originX, originY .....);

конечная позиция текстуры будет

(х + originX); (У + originY)

что этот метод рисования , который получает источник, использует его для масштабирования и поворота (поэтому этот метод также получает масштаб и поворот). Если вы хотите, чтобы он вращался с началом координат в центре, это бы сработало:

batch.draw(region, x, y, width/2F, height/2F, width, height, 1, 1, rotation);
0 голосов
/ 05 февраля 2012

Не могу воспроизвести ваше движение в группах. Но имейте в виду, что есть 5 вращающихся групп в дополнение к вращению каждого изображения. Закомментируйте следующий раздел:

    for (int i = 0; i < len; i++)
        if (rotateSprites)
            stage.getGroups().get(i).rotation += Gdx.graphics.getDeltaTime();
        else
            stage.getGroups().get(i).rotation = 0;

Это отключит вращение группы. Может быть, это дает некоторое представление. Из вашего видео я увидел, что у вас есть изображения, которые, кажется, вращаются вокруг своего верхнего правого угла, возможно, это тоже обманчиво. Но в целом изображения и группы будут вращаться вокруг своего источника (например, вокруг оси).

В вышеупомянутом методе draw(...) текстура будет первоначально помещена в (x, y) с данным (width, height), а затем масштабирована и повернута вокруг (originX, originY).

...