我正在用cocos2d制作一款使用“老派”风格图形的游戏,我不希望这些精灵以任何方式进行抗锯击。我可以使用[[sprite texture] setAliasTexParameters]
来禁用抗锯齿,但我需要为每个sprite执行此操作,并且它会使代码混乱。默认情况下有没有办法在全球范围内完成?
答案 0 :(得分:1)
默认情况下,您可以将CCTexture2D
代码编辑为setAliasTexParameters
,但这意味着对cocos2d的更新将非常麻烦。
我在需要的时候做了什么,我写了一个函数来为我创建纹理,每个都调用setAliasTexParameters
。
答案 1 :(得分:1)
CCTexture2D.m
- (id) initWithData:(const void*)data pixelFormat:(CCTexture2DPixelFormat)pixelFormat pixelsWide:(NSUInteger)width pixelsHigh:(NSUInteger)height contentSize:(CGSize)size
{
if((self = [super init])) {
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glGenTextures(1, &name_);
glBindTexture(GL_TEXTURE_2D, name_);
[self setAliasTexParameters];
答案 2 :(得分:0)
您可以通过减少像素格式来获得相同的效果。
[CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA4444];
如果没有,您可以创建一个工厂来设置setAliasTexParameters,因为实例化了纹理对象,减少了代码混乱。