我需要设置按钮的 Sprite 框架。

当我使用构造函数时,它正在工作:

    CCSprite *sprite = [CCSprite spriteWithImageNamed:@"but.png"];
    CCButton *button = [CCButton buttonWithTitle:@"" spriteFrame:sprite.spriteFrame];
    [button setBlock:^(id sender){...}]

但是当我之后需要设置 Sprite 框架时,
    CCButton *button = [CCButton buttonWithTitle:@""];
    button.background.spriteFrame = sprite.spriteFrame;

或这个
    [button setBackgroundSpriteFrame:sprite.spriteFrame forState:CCControlStateNormal];

两者都不起作用,结果是图像失真,并且没有调用回调函数或块。

最佳答案

您好,我遇到了同样的问题并找到了解决方案。只需这样做:

CCSpriteFrame *spriteFrame = [CCSpriteFrame frameWithImageNamed:@"Icon-Small.png"];
button = [CCButton buttonWithTitle:@"" spriteFrame:spriteFrame];

奇迹般有效!

10-08 06:08