Entenda o sistema LibGDX Coordinate e desenhe sprites

Então eu estou super feliz em começar a usar LibGDX para o meu primeiro título android para OUYA e PC, mas eu estou correndo em algumas dificuldades com LibGDX. (Todas as minhas perguntas podem ser respondidas olhando para a fonte, mas estou realmente tentando entender as escolhas de design também).

Para começar, o sistema de coordenadas. Eu criei um projeto usando o jar do Project Setup, e ele cria uma OrthographicCamera como

camera = new OrthographicCamera(1, h/w);

Pela minha leitura, eu entendo que o LibGdx usa o canto inferior esquerdo para 0,0 e yup. Bem. Eu vejo que é muito fácil mudar para baixo se eu quiser, mas não estou entendendo o próximo código que foi criado.

Para o sprite padrão que é criado, a posição é definida assim.

logoSprite.setOrigin(logoSprite.getWidth()/2, logoSprite.getHeight()/2);
logoSprite.setPosition(-logoSprite.getWidth()/2, -logoSprite.getHeight()/2);

Quando executo este programa básico, vejo que a imagem do logotipo que adicionei está centralizada na tela. O que eu estou tentando entender é por que os valores são negativos na posição set, e por que ele está usando a largura e altura do sprite em vez dos gráficos w e h da porta de visualização? Se eu mudar para a largura e a altura da tela, a imagem será desenhada em alguma posição ímpar no lado inferior direito da tela.

Minha próxima pergunta é sprite.setSize vs sprite.setScale. Por que a diferença entre os dois? (Eles parecem fazer a mesma coisa, exceto setScale deixa getWidth e getHeight inalterados).

Como o meu jogo estará usando uma câmera 2D para fazer pan, zoom e rotação, estou tentando entender o máximo possível sobre o framework libgdx antes de começar a escrever qualquer código.

Como uma nota lateral, eu tenho um fundo de desenvolvimento de jogos e matemática e fiz vários jogos 2D e 3D usando XNA. Eu estou achando o LibGdx um pouco frustrante, já que ele não abstrai o OpenGL tanto quanto eu esperava, e até agora o desenho 2D que eu tenho experimentado parece ser mais confuso do que deveria ser!

Eu também queria observar que estou planejando usar a coluna para minhas animações. Isso deve mudar minha escolha de usar y-up ou y-down?

questionAnswers(3)

yourAnswerToTheQuestion