ARC被启用, bufferReady被一个C ++库(非ARC启用)触发,我确定我在某处丢失了一个ARC。 请指教。 提前致谢。 用下面的代码: @implementation HelloWorldLayer id refToSelf; //reference to self int shakeCounter = 0; void bufferReady() { if (shakeCounter % 100 == 0) { [refToSelf shakes]; } shakeCounter++; } – (void) shakes { CCRotateBy * rotate = [CCRotateBy actionWithDuration:0.1 angle:2]; CCActionInterval * rotateReverse = [rotate reverse]; CCSequence * seq1 = [CCSequence actions:rotate, […]
我有一个在Cocos2d应用程序工作的iAd横幅。 以下是我用来展示广告的CCLayer子类的代码。 在DidLoad上,添加变得可见,底部菜单向上滑动以补偿。 -(id) init { if( (self=[super init]) ) { CGSize size = [[CCDirector sharedDirector] winSize]; UIViewController *controller = [[UIViewController alloc] init]; controller.view.frame = CGRectMake(0, size.height -32, 320, 32); ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierLandscape]; adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape; [controller.view addSubview:adView]; adView.delegate = self; [[[CCDirector sharedDirector] view] addSubview:controller.view]; [[[CCDirector sharedDirector] view] […]
我试图围绕一个问题(在这个问题上没有提到 ) 解决问题 。 上下文是:基于回合制的游戏,用cocos2d 2.0版开发,obj-c,没有ARC,目前准备AppStore更新来解决一些iOS 7问题(我的,不是iOS7)。 我自己的仪器,以及仪器,没有泄漏,没有遗弃的记忆,没有…平坦。 这也是iOS 4,5,6.1下的情况。 然而,在我提交之前的testing中,在分析设备时,我看到每2分钟增加1Mb,游戏处于空闲状态,即没有任何用户交互(见下图)。 我能看到的唯一的事情就是这个IOAccelResource类在世代捕获之间运行。 你有什么build议吗? 我无法find一个IOAccelResource很多…你们谁能指出我在正确的阅读方向吗? 如果这确实与cocos2d有关,我不介意在那里挖掘,但我不知道从哪里开始寻找。 另外,我想运行“尽可能释放”构build尽可能,而且仍然能够测量内存足迹随着时间的推移。 你能给我一个测量工艺尺寸的方法吗? TIA。
我在cocos2dv3中的项目抛出了ARC Sematic发行在归档(发布模式)时发现了多个名为“setRotation:”的方法,结果不匹配,参数types或属性不匹配。 在部署到模拟器/设备(debugging模式)时运行良好。 在发布模式下,编译器会在UIRotationGestureRecognizer和CCNode的旋转实现之间混淆。 当我在CCBAnimationManager.m得到错误时,我调用了将select器setRotation调用为( CCNode *)的对象,但是随后在CCActionInterval出现错误。 我希望有比cocos2d库中的任何地方都更好的解决scheme。 我究竟做错了什么? 感谢您的时间。 编辑 @interface CCAction : NSObject <NSCopying> { id __unsafe_unretained _originalTarget; id __unsafe_unretained _target; NSInteger _tag; } @property (nonatomic,readonly,unsafe_unretained) id target; @property (nonatomic,readonly,unsafe_unretained) id originalTarget; @property (nonatomic,readwrite,assign) NSInteger tag; 在 CCAction.m @synthesize tag = _tag, target = _target, originalTarget = _originalTarget; -(void) startWithTarget:(id)aTarget { _originalTarget = […]
注 : 任何人可以帮助我正确地解决这个问题得到100点赏金 ! 在我的应用程序中,我将UIKit和Cocos2D混合在一起,我使用addSubview和removeFromSuperview调用了一些简单的自定义视图animation。 我最近需要添加另一个CCScene到我的应用程序,以摆脱Cocos2D可以轻松处理的一些复杂的UIKit代码。 所以我在我的应用程序中有一个基本视图,它是一个UIViewController,它上面有一些button。 这些button背后是一个CCGLView,Cocos2D将会做任何事情。 这很好。 然后,当我想要去我的第二个视图控制器 (让我称之为我的游戏视图)后,我做了我的视图animation,viewdidload被调用(那是我的导演初始化为第二个CCScene),或者什么也没有发生,在控制台下面的错误。 现在在我原来的项目中,下面的错误是我得到的,在这个示例项目中没有任何反应。 这些是错误: OpenGL error 0x0501 in DrawSolidPolygon 104 OpenGL error 0x0502 in DrawSolidPolygon 104 OpenGL error 0x0501 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556 OpenGL error 0x0502 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556 OpenGL error 0x0502 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556 OpenGL error 0x0501 in -[CCParticleSystemQuad postStep] 411 OpenGL error […]
我正在一个项目,需要有相同的部分原生(cocoa触摸)和一些在cocos2d的部分。 我已经完成了所有的本地化,现在我需要将cocos2d整合到项目中。 我的问题是,我不能添加成功的cocos2d库到我的项目。 任何好的解决scheme呢? 我正在使用xCode 4
你知道如何在新的Cocos2D v3.x中animation一个CCSprite吗? 很多类都改变了,旧的方法似乎不起作用。 NSMutableArray *animFrames = [NSMutableArray array]; for(int i = 1; i <= 3; i++) { CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Sprite-%d.png",i]]; [animFrames addObject:frame]; } CCAnimation *animation = [CCAnimation animationWithName:@"run" delay:0.1f frames:animFrames]; [mySprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO]]]; 任何想法? 谢谢。 额外的信息
情况: – 就在几个小时前,我安装了cocos2d 2.x – 但在它之前,我删除了cocos2d 1.0.1的模板文件 – 现在我看不到cocos2d 2.x的模板文件 – 在Xcode中,这两个模板都是可见的,我可以使用它们。 问题:如何删除cocos2d 1.0.1模板,如果我已经删除了这个模板的文件? 为什么我看不到cocos2d 2.x的文件? 提前致谢!
当我使用 self.isTouchEnabled = YES 在Cocos2d v2.0的图层上可以触摸,Xcode给我提示: setIsTouchEnabled: is deprecated 现在,我只想知道isTouchEnabled的替代方法。
我正在使用COCOS2D为iPhone开发游戏。 在那里,当用户将他的手指从一个点拖到另一个点时,我需要画一条线。 就我的知识而言,我需要在Touches Moved method做到这一点,从我可以得到的点。 但我不知道该怎么做。 有人可以帮我吗?