【问题标题】:Disable anti-aliasing by default in cocos2dcocos2d默认禁用抗锯齿
【发布时间】:2011-08-25 02:08:07
【问题描述】:

我正在 cocos2d 中制作一个使用“老式”风格图形的游戏,并且我不希望精灵以任何方式进行抗锯齿处理。我可以使用[[sprite texture] setAliasTexParameters] 来禁用抗锯齿,但我需要对每个精灵都这样做,这会使代码混乱。有没有办法默认全局做到这一点?

【问题讨论】:

    标签: iphone cocos2d-iphone antialiasing


    【解决方案1】:

    你可以默认将CCTexture2D代码编辑为setAliasTexParameters,但这意味着cocos2d的更新会非常快。
    当我需要这个时我做了什么,我写了一个函数来为我创建纹理,每个函数都调用setAliasTexParameters

    【讨论】:

    • 我最终只是制作了一个工厂方法,尽管无法轻松设置它似乎有点愚蠢。哦,好吧。
    【解决方案2】:

    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];
    

    【讨论】:

      【解决方案3】:

      你可以通过减少像素格式来获得同样的效果。

      [CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA4444];

      如果没有,您可以创建一个工厂,在实例化纹理对象时设置 setAliasTexParameters,从而减少代码混乱。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-30
        • 2013-03-03
        • 1970-01-01
        • 2011-01-26
        • 1970-01-01
        • 1970-01-01
        • 2014-02-18
        相关资源
        最近更新 更多