2011-09-03 84 views
0

我试了一下:背景图案纹理

CCSprite *background = [CCSprite spriteWithSpriteFrame:frame]; 
background.textureRect = CGRectMake(0, 0, calcadaWidth, winSize.height); 
background.position = ccp(calcadaWidth * 0.5, winSize.height * 0.5); 
ccTexParams params = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT}; 
[background.texture setTexParameters:&params]; 

它的工作原理,如果质地普通GL尺寸如32,64×64,128×... 我的质地126x70,那么,使用此代码,我得到了一些黑重复之间的空间。

回答

1

Cocos2D使用OpenGL和OpenGL的限制之一是,如果你想要一个纹理重复,它必须是两个纹理的力量。

您得到的黑色空间是OpenGL将您的纹理填充到下一个幂的位置。