Entender el sistema de coordenadas LibGDX y dibujar sprites.
Así que estoy muy entusiasmado de comenzar a usar LibGDX para mi primer título de Android para OUYA y PC, pero me estoy topando con algunos inconvenientes con LibGDX. (Todas mis preguntas pueden responderse mirando la fuente, pero también estoy tratando de entender las opciones de diseño).
Para empezar, el sistema de coordenadas. Creé un proyecto usando el jar de configuración del proyecto, y crea una cámara ortográfica como esta.
camera = new OrthographicCamera(1, h/w);
Desde mi lectura, entiendo que LibGdx usa la esquina inferior izquierda para 0,0 y yUp. Multa. Veo que es bastante fácil cambiar a y hacia abajo si quiero, pero no entiendo el siguiente fragmento de código que se creó.
Para el sprite predeterminado que se crea, la posición se establece así.
logoSprite.setOrigin(logoSprite.getWidth()/2, logoSprite.getHeight()/2);
logoSprite.setPosition(-logoSprite.getWidth()/2, -logoSprite.getHeight()/2);
Cuando ejecuto este programa básico, veo que la imagen del logotipo que he agregado está centrada en la pantalla. Lo que estoy tratando de entender es por qué los valores son negativos en la posición establecida y por qué utiliza el ancho y la altura del sprite en lugar de los gráficos w y h del puerto de visualización. Si cambio el ancho y el alto de la pantalla, entonces la imagen se dibuja en una posición extraña en la parte inferior derecha de la pantalla.
Mi siguiente pregunta es sprite.setSize vs sprite.setScale. ¿Por qué la diferencia entre los dos? (Parecen hacer lo mismo, excepto que setScale deja getWidth y getHeight sin cambios).
Dado que mi juego utilizará una cámara 2D en gran medida para el paneo, el zoom y la rotación, estoy tratando de entender todo lo que pueda sobre el marco libgdx antes de comenzar a escribir cualquier código.
Como nota al margen, tengo antecedentes en desarrollo de juegos y matemáticas y he hecho varios juegos en 2D y 3D usando XNA. Estoy encontrando a LibGdx un poco frustrante ya que no abstrae a OpenGL tanto como esperaba, y hasta ahora el dibujo 2D con el que he estado experimentando parece ser más confuso de lo que debería ser.
También quería señalar que estoy planeando usar la columna vertebral para mis animaciones. ¿Debería eso cambiar mi elección de usar y-up o y-down?