缩放精灵错误

时间:2012-02-29 00:49:57

标签: objective-c cocos2d-iphone box2d-iphone

我正在使用Objective-c中的iPhone应用程序,也使用cocos2d进行图形处理。我有一个大的精灵,我已经研究了如何缩放精灵,我的代码看起来像这样...

//Set up sprite
    // Use batch node. Faster
    CCSpriteBatchNode *parent = [CCSpriteBatchNode batchNodeWithFile:@"egg.png" capacity:100];
    eggTexture_ = [parent texture];

    [eggTexture_ setScaleX: 10/eggTexture_.contentSize.width];
    [eggTexture_ setScaleY: 10/eggTexture_.contentSize.height];

它编译得很好!然后我得到一个运行时错误“SIGABRT”。我找不到问题。这可能是一件不成熟的事情。回顾那些在“CCTexture2d可能无法响应setScaleX”的行之后的“警告”。任何帮助非常感谢:) thankyou

1 个答案:

答案 0 :(得分:3)

实际上,CCTexture2D类不响应setScaleX和setScaleY。语句[父纹理]选取的对象是纹理,因此您必须收到类似于此

的错误消息

* 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [CCTexture2D setScaleX:]:无法识别的选择器发送到实例0x5e14c70'

我不确定为什么你想要缩放纹理,我怀疑你宁愿缩放CCSprite,并把它放在你的场景中。喜欢:

CCSprite *eggSprite_ = [CCSprite spriteWithTexture:[parent texture]];
[eggSprite_ setScaleX: 10/eggSprite_.contentSize.width];
等等......