Как включить setAliasTexParameters для CCMenuItem с Cocos2D - PullRequest
0 голосов
/ 25 февраля 2012

Мне очень тяжело с моей пиксельной 2D игрой. Я использую Cocos2D Framework, и меню сводит меня с ума. Я могу изменить параметр setAliasTexParameters с помощью спрайтов, но не для CCMenuItemImage.

Я полагаю, что это возможно с CCMenuItemSprite, но, черт возьми, вы тоже не можете с этим разобраться, и я не могу даже заставить меню работать с CCMenuItem Sprites. Это прекрасно работает с мыслью CCMenuItemImages.

Вот размытые кнопки: http://cl.ly/0i1V3Y0e3u2k1t102H2a

По неизвестной причине левая кнопка со стрелкой острая. Я пытался изменить ахоральные точки, позиции и отступы на 1 и 0,5 пикселя, но это не помогло. Все размеры кнопок четные.

Это мой код для одного из пунктов меню:

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 Ответ

1 голос
/ 26 февраля 2012

Я заработал, используя спрайты в меню. Вот мое решение:

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