我正在用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做出响应“的行之后出现了”警告“。任何帮助都非常感谢:)谢谢你
发布于 2012-02-29 09:59:16
实际上,类CCTexture2D不响应setScaleX和setScaleY。由语句parent texture拾取的对象是一个纹理,因此您一定会收到类似下面这样的错误消息
*由于未捕获的异常'NSInvalidArgumentException‘而终止应用程序,原因:'-CCTexture2D setScaleX::发送到实例0x5e14c70的无法识别的选择器’
我不确定你为什么想要缩放纹理,我怀疑你更愿意缩放一个CCSprite,并将其放置在场景中。像这样:
CCSprite *eggSprite_ = [CCSprite spriteWithTexture:[parent texture]];
[eggSprite_ setScaleX: 10/eggSprite_.contentSize.width];等等。
https://stackoverflow.com/questions/9492105
复制相似问题