'接收者types“CCParticleBatchNode”用于类消息是一个前向声明'
标题说明了一切。 我通过从github下载文件来安装cocos2d 1.1,删除我的项目中的cocos2d项目并重新添加它。
我的头文件中有'@class CCParticleBatchNode',前缀和相关的实现文件中都有#import“cocos2d.h”。 当我浏览到CCParticleBatchNode应该在的位置时,它就在那里。
那么,有人知道问题可能是什么吗? 🙂
编辑:这是一些代码。
#import "PrecipicationLayer.h" #import "cocos2d.h" @implementation PrecipicationLayer @synthesize cloudLayer; - (id)init { self = [super init]; if (self) { rain = [CCParticleRain node]; rainBatch = [CCParticleBatchNode particleBatchNodeWithFile:@"Raindrop48px.png" capacity:400 useQuad:YES additiveBlending:NO]; [self addChild:rainBatch]; [self schedule:@selector(tick:)]; } return self; }
和头文件:
#import <Foundation/Foundation.h> #import "cocos2d.h" @class CCParticleBatchNode; @interface PrecipicationLayer : CCLayer { CCParticleBatchNode *rainBatch; } @end
所有不相关的部分已被删除。
呃…通常的cocos2d升级麻烦。
就我个人而言,我会简单地安装cocos2d 1.1模板(假设它们是最新的),并根据其中一个cocos2d模板创build一个项目。 然后将您的源代码和资源添加到这个新创build的项目。 这通常比尝试replace和更新现有项目中的cocos2d代码要好得多。
我想你的问题可能来自删除cocos2d项目,而不是从硬盘上的文件。 这意味着仍然会有一些旧版本的遗留文件,这些文件仍然包含在项目中并构build。 在移动新的cocos2d文件之前,您一定要删除所有现有的cocos2d文件。
最后,不要排除你从github下载的版本被破坏的可能性。 这不会是第一次。 请尝试使用网站上的可下载版本,并记住1.1在这个时候只是一个testing版。
提示:将来你可能想用Kobold2D创buildcocos2d项目,它有一个升级工具 ,可以消除所有这些麻烦。
如果您已经将它导入到.h文件中,则不需要在.m文件中导入cocos2d.h。 不过,我认为这不是问题。
有两种可能性:
- CCParticleBatchNode在cocos2d.h中定义,在这种情况下,您不需要前向声明,这可能会让编译器感到困惑。
- CCParticleBatchNode 没有在cocos2d.h中定义,在这种情况下,您需要在实现文件中导入CCParticleBatchNode.h,因为您拥有的只是前向声明。
“删除我的项目中的cocos2d项目,并重新添加它。”
检查文件是构build过程的一部分。 在XCode 4中,单击Project Navigator顶部的项目名称,select“Build Phases”,确保在目标名称下面显示“cocos2d libraries”。 如果是,则展开“目标依赖关系”,并确保它也在那里列出。 然后展开“链接库与二进制文件”,并确保它也被添加到那里。
下载最新的模板时遇到同样的问题。 问题是,即使文件CCParticleBatchNode.h和CCParticleBatchNode.m物理存在,他们还没有被添加到Xcode项目模板。 我只需要将它们添加到项目中,然后编译。
- 获取Twitter的关注者,并关注ios7
- 对于同一个新对象,Firebase FEventTypeChildAddedcallback被多次调用
- JSON匹配NSString与NSDictionary
- UIView上的UITapGestureRecognizer和它的子视图在子视图被抽头时一起响应
- 放大滚动视图内的旋转图像以适应(填充)覆盖矩形的框架
- HttpClient setReachabilityStatusChangedBlock声明没有接口
- OpenCV:如何创build.vec文件以使用opencv_traincascade
- 在Objective-C中显示PowerPoint幻灯片
- 如何将秒设置为零的NSDate