2012-02-29 75 views
0

我正在使用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”的行后面会出现“警告”。任何帮助非常感谢:)谢谢

回答

3

实际上,类CCTexture2D不响应setScaleX和setScaleY。该语句[父质地】挑选的对象是纹理,所以你必须得到与此类似

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

我不确定为什么你想要缩放纹理,我怀疑你宁愿缩放一个CCSprite,并将其放置在场景中。像:

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

等等

+0

好了,现在我改变了CCTexture2d到CCSprite ......它不再在代码中后期的作品,当我需要使用精灵在Box2D的我怎么打开CCSprite到PhysicsSprite – 2012-02-29 02:13:44

+0

ohh ...对不起,你的目的在这个问题上还不清楚。我没有box2D的实用知识,也没有它的API。 'PhysicsSprite'是否有一个带有cocos2d Sprite的init(创建者),或者甚至派生自CCSprite?这是我敢冒险猜测:)。 – YvesLeBorg 2012-02-29 02:41:39