如何从另一个类访问SpriteBatchNode?的cocos2d

时间:2013-04-02 18:20:13

标签: objective-c cocos2d-iphone

我无法让我的sprite批处理节点工作,部分原因是因为我不明白这个概念已经完成。 SpriteFrameCache是​​共享的,这使得访问变得容易,但是SpriteBatchNode并不是这样,我不知道从另一个类访问它的最佳方式。

我在我的主GameplayLayer.m中将我的精灵批处理节点设置为实例变量:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"MyTexture.plist"];
spriteBatchNode = [CCSpriteBatchNode batchNodeWithFile:@"MyTexture.png"];

但是我有一个Monster类,在类中设置了动画,但是sprite是在我的GameplayLayer类中创建的纹理中:

CCAnimation *walkAnim = [CCAnimation animation];
[walkAnim addSpriteFrame:[spriteFrameCache spriteFrameByName:@"monster-sprite-walk0.png"]];
//some other code
self.monsterWalkAnimation = [CCRepeatForever actionWithAction:walkAnimationAction];

哪个不起作用,我猜是因为它不知道纹理在哪里。访问精灵批处理节点的最佳方法是什么,或者我设置错误了?

0 个答案:

没有答案