Sprite tamaño en el tamaño de pantalla diferente Andengine Android
`Estoy desarrollando mi primer juego en Android Adnengine. Es un juego de carreras desde la vista superior. Utilicé el fondo del paralaje y algunos coches. Lo probé en mi dispositivo que es de menor anchura y altura.
Coloqué los coches de con 32 y altura 64 según el ancho de la cámara, altura. Está funcionando bien con mi tamaño de pantalla, pero en tamaños de pantalla más grandes, como el Galaxy Tab, hay un gran espacio que queda en el juego, porque los tamaños de coches siguen siendo los mismos que tengo que usar en el poder de dos.
- ¿Cómo crear nieve en AndEngine?
- Las 5 mejores puntuaciones de google leaderboard
- ANDROID - Cómo utilizar un video como fondo en Andengine
- Android andengine ejemplos
- Android Andengine mala calidad de la textura
¿Cómo puedo usar imágenes que se ajusten a todos los tamaños de pantalla? ¿Tengo que usar diferentes imágenes según el tamaño de la imagen con diferentes anchos y alturas de la cámara? Estoy seguro de que hay una solución para esto.
Ya he modificado mi archivo de manifiesto para admitir tamaños pequeños, grandes y xlarge.
public Engine onLoadEngine() { final Display display = getWindowManager().getDefaultDisplay(); CAMERA_WIDTH = display.getWidth(); CAMERA_HEIGHT = display.getHeight(); //Toast.makeText(getApplicationContext(), CAMERA_WIDTH, 3); mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); engine = new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy( CAMERA_WIDTH, CAMERA_HEIGHT), mCamera).setNeedsMusic( true).setNeedsSound(true)); return engine; }
- Andengine texto indexoutofbounds excepción
- ¿Cómo destruir y recrear una escena en andengine correctamente?
- AndEngine - eliminar un Sprite particular y su cuerpo
- Android Toast Mensajes no funcionan
- EglSwapBuffers falló: EGL_BAD_ALLOC AndEngine Android
- Andengine con efecto de prueba
- Inicio de sesión de Facebook android
- No se puede añadir AndEngine a Android Studio
La cosa sobre usar una política de la resolución de la proporción es que usted puede diseñar su juego a un tamaño particular dice 800×480 que es muy popular para los teléfonos actualmente.
Creo que donde la mayoría de la gente se desvía está pensando que necesitan para tirar de la pantalla actual de ancho / altura y utilizarlo para inicializar el motor.
El punto de una política de resolución de relación, como yo lo entiendo, es que usted establece sus dimensiones en valores codificados y deja que la política de resolución de proporciones maneje las diferencias de un dispositivo al siguiente.
CAMERA_WIDTH = 800; CAMERA_HEIGHT = 480; //Toast.makeText(getApplicationContext(), CAMERA_WIDTH, 3); mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); engine = new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy( CAMERA_WIDTH, CAMERA_HEIGHT), mCamera).setNeedsMusic( true).setNeedsSound(true));
Una vez que hagas cosas como esta, entonces solo necesitas asegurarte de que tus gráficos y espaciado se vean bien en tu ancho / altura elegidos previamente – en este ejemplo 800 x 480. Si todo funciona y se ajusta y se ve bien, entonces la política de resolución de relación Cuidar de las cosas cuando el dispositivo tiene un tamaño de pantalla diferente.
Por lo menos que mi toma en cómo debe trabajar – escribo para 800 x 480 y todo parece bueno en mi tablilla 7 "también – concedió que no es un estiramiento importante.
Obtener la altura del dispositivo y el ancho y luego algebraicamente hacer que el sprite un porcentaje del ancho de la pantalla y la altura.
Espero que ayude.
Según mi experiencia, creo que la mejor manera de atacar este problema es lidiar con dos razones de pantalla principales (5: 4, 5: 3) que son populares en la mayoría de los dispositivos.
Elige una alta resolución para cada relación y deja que el motor disminuya si el tamaño de la pantalla del dispositivo es menor.
- ¿Cómo puedo hacer animación vibrante para ImageView
- Android-Libgdx, Llamando a Otra Actividad después de que el Juego comience en Button click