ios - 在 CCMenu 中缩放 CCMenuItemSprite 项

标签 ios xcode cocos2d-iphone scaling ccmenuitem

我在使用带有缩放的 CCMenuItemSprite 菜单项的 CCMenu 时遇到问题。我正在尝试根据正在玩游戏的设备来不同地缩放菜单项 Sprite (iPad 需要将其缩放到大约 1.5 倍,而在 iPhone 上大约是 0.75 倍)

根据我的阅读,我们不能直接缩放 CCSprite 或 CCMenuItemSprite,因为当它被添加到 CCMenu 时,触摸矩形没有正确更新。我相信我必须缩放 CCMenu 来缩放菜单项。

每当我这样做时,我的 Sprite 似乎被缩放到正确的大小,但它似乎也缩放了 CCMenu 位置坐标,但与我期望的方向相反。此外,一旦我超过某个阈值,菜单似乎就会完全消失。

有人对我应该如何在 CCMenu 中缩放 Sprites 有任何建议吗?

提前致谢。
巴兹里克

最佳答案

试试这个代码............

CCMenuItemImage  *Btn1 = [CCMenuItemImage itemWithNormalImage:@"button1.png" selectedImage:@"button1_active.png" target:self selector:@selector(button1_click:)];

CCMenuItemImage  *Btn2 = [CCMenuItemImage itemWithNormalImage:@"button2.png" selectedImage:@"button2_active.png" target:self selector:@selector(button2_click:)];

CCMenu *Action_menu = [CCMenu menuWithItems:Btn1,Btn2, nil];

[Action_menu setPosition:ccp( 79, 288)];

float delayTime = 0.3f;

for (CCMenuItemFont *each in [Action_menu children]) 
    {
        each.scaleX = 0.0f;
        each.scaleY = 0.0f;
        CCAction *action = [CCSequence actions:
                            [CCDelayTime actionWithDuration: delayTime],
                            [CCScaleTo actionWithDuration:0.5F scale:1.0],
                            nil];
        delayTime += 0.2f;
        [each runAction: action];
    }

[self addChild:Action_menu];

关于ios - 在 CCMenu 中缩放 CCMenuItemSprite 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11998612/

相关文章:

ios - Xcode 6 Interface Builder在 View 中间居中多个标签

ios - 如何在 UITextview swift 中使用 linkTextAttributes

ios - b2Body 未正确定位在 CCSprite 上?

objective-c - Gamecenter对接无效

objective-c - Xcode中类之间的简单变量传递

ios - 体系结构 x86_64 : "_OBJC_CLASS_$_WKWebView", 的 undefined symbol 引用自:

swift - 在同一项目中设置 Vapor 和 Clang

objective-c - Xcode 中的未知类型名称(即使使用@class 声明)

swift - 缺少 Swift 文件

ios - iOS/Cocos2d 中的哪个音频 API 最适合复杂的混音?