2011-07-18 15 views
5

Estoy intentando configurar un fondo mosaico/repetitivo para mi aplicación de iPhone.¡Repetir el fondo en cocos2d tiene bordes negros!

El código "funciona" porque el fondo se repite como debería pero parece que tengo un borde negro alrededor de cada repetición y no sé por qué, la imagen es exactamente 200x200. Aquí hay una captura de pantalla de cómo se ve junto con el código:

if ((self=[super init])) { 
    CCSprite * bg = [CCSprite spriteWithFile:@"pattern11.jpg" rect:CGRectMake(0, 0, 1000, 520)]; 
    [bg setPosition:ccp(0, 0)]; 
    ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT}; 
    [bg.texture setTexParameters:&params]; 
    [self addChild:bg z:0]; 
} 

enter image description here

Respuesta

4

Texturas siempre deben estar en poder de dos ... como 16,32,64,128,256,512,1024.

Intente cambiar el tamaño de la imagen a 256x256 o 128x128.

+0

Perfecto gracias! – Chris

0

También me encontré con este problema bastante común al no poder copiar texturas de tamaño arbitrario en Cocos2d-iPhone, así que armé una clase simple TiledSprite para baldosar/recortar una textura o subtexto a cualquier ancho/alto .

salto directo al código fuente aquí (uso a voluntad):

https://gist.github.com/Nolithius/6694990

O echar un vistazo a una muestra de uso, pantalla, y el comentario en este breve artículo:

http://www.nolithius.com/game-development/cocos2d-iphone-repeating-sprite

¡La mejor de las suertes!

Cuestiones relacionadas