Cocos2d android Problema de textura en Motorola xoom
Estoy desarrollando un juego en android con el framework Cocos2d con la última compilación de github (Weikuan Zhou).
En mi juego, usé muchas imágenes (el tamaño total de las imágenes es de alrededor de 11 MB).
- Desea crear un complemento en Cocos2d para mi SDK
- ¿Cómo conseguir que los sprites reaccionen a los toques en cocos2d android?
- Límites de memoria de Android Graphics
- Cocos vs AndEngine para android
- ¿Debo usar cocos2D o andengine?
Problema: Estoy recibiendo la caja negra en lugar de imágenes cuando juego mi juego más de 3 veces.
¿Qué pasos reproducirán el problema? 1. Cuando juego mi juego más de 3 veces a través de "Play Again" funcionalidad de mi juego.
cual es la salida esperada? ¿Qué ves en su lugar? – las imágenes deben mostrarse correctamente en lugar de "BLACK BOX"
.
Y en mi logcat, veo que la memoria Heap va alrededor de 13Mb.
- Ya lanzo Textura a través del método de abajo
CCTextureCache.sharedTextureCache (). RemoveAllTextures ();
También traté de eliminar sprite manualmente ex. removeChild()
.
Pero hasta ahora no ha logrado encontrar ninguna solución.
Si alguien tiene una solución para esto por favor hágamelo saber.
- Cómo invocar el método de una clase CCColorLayer de otro método de clase (se extiende Actividad), Android?
- Adición de fondo de paralaje sin fin en cocos2d android
- Cómo hacer página flip / turn / curl efecto en android
- ¿Cómo puedo publicar la puntuación en el FB / Gmail / etc?
- COCOS 2D captura de pantalla es negro en Android
- ¿Dónde puedo encontrar un buen tutorial para comenzar a programar usando Cocos2D-x?
- ¿Por qué obtengo una InvocationTargetException? Juego de Android 2D
- Diferencia entre cocos2d-android y cocos2d-android-1
De lo que usted está describiendo, usted está golpeando exactamente el mismo problema que hice, que es que cocos2d para android es realmente buggy cuando se trata de un montón de sprites individuales cargados individualmente.
La mejor ruta a tomar para resolver este problema es conseguir (a menos que tengas un mac) la versión flash gratis de zwoptex desde aquí http://zwopple.com/zwoptex/static/downloads/zwoptex-flashversion.zip
Esto te dejará construir encima de spritesheets, sugiero relacionar tantos sprites como puedes en cada hoja, mientras que intentaba mantenerlos sensatamente agrupados.
Esto se debe principalmente a los cocos haciendo un solo render para todos los sprites en una hoja de sprites, en lugar de un render por sprite para los sprites normales, por lo tanto redujo enormemente el tiempo de procesamiento y mucho menos uso de memoria.
Usted puede entonces cargar la hoja de sprites con el código tal como (no puede garantizar que este código ejecutará mientras que estoy agarrando fragmentos de un proyecto estructurado pero le conducirá a la solución derecha)
CCSpriteFrameCache.sharedSpriteFrameCache().addSpriteFrames("menus.plist"); // loads the spritesheet into the frame cache CCSpriteSheet menuSpriteSheet = CCSpriteSheet.spriteSheet("menus.png", 20); // loads the spritesheet from the cache ready for use .... // menu is a CCLayer CCSprite sprite = CCSprite.sprite(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName("name of sprite from inside spritesheet.png")); menuSpriteSheet.addChild(sprite, 1, 1); / you add the sprite to its spritesheet menu.addChild(menuSpriteSheet, 1); // then add the spritesheet to the layer
Este problema ocurre al cargar recursos en tiempo de ejecución. Por lo tanto, es mejor cargar recursos antes de que comience la escena. Puede hacer lo siguiente.
- Uso de las hojas de sprite para los recursos en su juego.
- Implementa tu Ui en el constructor de tu clase.
- Implementar su funcionalidad en el método sobreescrito onEnter () en su capa.
- Debe descargar las hojas de sprite después de terminar la escena.
Éste es el procedimiento que estoy siguiendo. Gracias.
- SQLiteDatabase.execSQL no funciona como se esperaba para la consulta INSERT INTO
- GridLayout empuja a sus hijos y desbordamiento cuando se le da fill_parent para la altura