如何使用Cocos2D为CCMenuItem启用setAliasTexParameters

时间:2012-02-24 22:14:25

标签: cocos2d-iphone antialiasing blurry

我的像素化2D游戏真的很难过。我正在使用Cocos2D框架,菜单让我疯了。我可以使用Sprites更改setAliasTexParameters参数,但不能更改CCMenuItemImage。

我相信它可以用CCMenuItemSprite,但是我红了你也不能用它直接设置它我似乎甚至不能使用CCMenuItem Sprites的菜单。它与CCMenuItemImages的想法非常吻合。

这是模糊的按钮: http://cl.ly/0i1V3Y0e3u2k1t102H2a

由于某些未知原因,左箭头按钮很清晰。我试图将achor点,位置和填充更改1和0.5像素,但它没有帮助。所有按钮大小都是偶数。

这是我的一个MenuItems的代码:

CCMenuItemImage *buttonMoveL = [CCMenuItemImage itemFromNormalImage:@"buttonMoveLeft.png" selectedImage:@"buttonMoveLeft2.png" block:^(id sender) {
        // Do something 
        }
    }];

这就是菜单本身:

ActionsMenu = [CCMenu menuWithItems: buttonAttack, buttonMoveL, buttonMoveR, buttonDefend, nil];
    ActionsMenu.position = ccp(240, 38);
    [ActionsMenu alignItemsHorizontallyWithPadding:8];

非常感谢所有帮助!

1 个答案:

答案 0 :(得分:1)

我通过在菜单中使用精灵来实现它。这是我的解决方案:

CCSprite *spriteDefend1 = [CCSprite spriteWithSpriteFrameName:@"buttonDefend1.png"];
    CCSprite *spriteDefend2 = [CCSprite spriteWithSpriteFrameName:@"buttonDefend2.png"];
    CCMenuItemImage *buttonDefend = [CCMenuItemSprite itemFromNormalSprite:spriteDefend1 selectedSprite:spriteDefend2 block:^(id sender) {
        // Do something cool
        }
    }];