Tag: cocos2d iphone

'接收者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 […]

如何将Kobold2D转换为新的Cocos2D 3.x项目?

我喜欢Kobold2D,但自从Xcode的升级和似乎Kobold2D已经停产(可能是狗头人触摸仍在更新,我不知道),我甚至不能运行它在Xcode 6上。我迫使改变我从Kobold2D到Cocos2D的项目,这可能会改变很多。 我不知道,而是手动创build一个新的,并复制粘贴我的代码的每一个部分,并改变他们,有没有一个快速的拍摄到Cocos2D Kobold2D? (例如replace库,更改configuration等) 对于这个项目,我使用了基本的cocos2D函数,包括TiledMap,particle designer,Texture packer和一些更基本的Kobold2D函数。 谢谢

如何等待,直到CCMenuItemImage按目标C?

我想暂停程序,直到我的button按下 我通过使用[[CCDirector sharedDirector]暂停]暂停我的场景; 确定屏幕暂停,但我的function是继续运行,直到它结束function 他们有没有任何function来等待button动作?

在CCLayer周围边界

我使用Cocos2d拖动精灵,并尝试添加一个边界,如果一个精灵被选中。 我可以看到我的白色背景,但我的边界certificate特别困难。 我有这个代码: if(self.selectedSprite) self.selectedSprite = nil; CCLayerColor *selectedLayer = [[CCLayerColor alloc] init]; // CCSprite *backgroundSprite = [CCSprite spriteWithFile:@"white_1x1.gif" rect:CGRectMake(2,2,self.boundingBox.size.width-4,self.boundingBox.size.height-4)]; CCSprite *backgroundSprite = [CCSprite spriteWithFile:@"white_1x1.gif" rect:CGRectMake(0,0,self.boundingBox.size.width,self.boundingBox.size.height)]; [backgroundSprite setContentSize:CGSizeMake(self.contentSize.width-4, self.contentSize.height-4)]; backgroundSprite.anchorPoint = ccp(0,0); CCRenderTexture* rt = [CCRenderTexture renderTextureWithWidth:backgroundSprite.texture.contentSize.width + 2 height:backgroundSprite.texture.contentSize.height+2]; [backgroundSprite setFlipY:YES]; [backgroundSprite setColor:ccc3(0,0,0)]; ccBlendFunc originalBlendFunc = [backgroundSprite blendFunc]; [backgroundSprite setBlendFunc:(ccBlendFunc) { GL_SRC_ALPHA, GL_ONE }]; […]

以编程方式调用textFieldShouldReturn

当前项目在cocos2d v2下运行。 我有一个简单的UITextField添加到CCLayer。 每当用户触摸textField时,都会出现一个键盘。 然后当用户触摸“返回”button时,键盘消失并清除input。 我试图做的是当用户触摸UITextField之外的任何地方时做同样的事情。 我find了一个方法,它的工作原理: – (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { UITouch* touch = [touches anyObject]; if(touch.view.tag != kTAGTextField){ [[[[CCDirector sharedDirector] view] viewWithTag:kTAGTextField] resignFirstResponder]; } } 但是,此方法不会调用该函数: – (BOOL)textFieldShouldReturn:(UITextField *)textField 我用这个函数做一些计算并清除input。 因此,当文本字段为“resignFirstResponder”时,我希望ccTouchesBegininput此文本FieldShouldReturn。

在使用Box2D,cocos2d和物理编辑器的视网膜显示PTM_RATIO

我有很多问题试图在我的精灵身上绘制身体形状。 我尝试了很多的组合,但我无法使其在视网膜显示器上工作。 我只支持iPhone视网膜和iPad(视网膜而不是视网膜)。 A. PTM_RATIO 第一个问题是,如果我想在所有设备中使用相同的物理,每个设备使用哪个PTM_RATIO。 我读了几个post,我不知道PTM代表“ Point To Meter ”还是“ Pixel To Meter ”。 ¿哪一列是正确的? B.物理学 我想要使​​用不同形状的不同图像来绘制地面,但为此我使用了两个最简单的types。 一个200x200px的图像,但身体只需要较低的200x80px矩形。 为了保持精灵方面,我使用200x200px的艺术为iPhone和iPad SD和400×400为iPad HD。 然后,我尝试为红色区域定义一个身体。 我尝试了所有可能的组合使用Physcs编辑器,我试图做手动也与顶点助手。 我做了iPad SD的工作,但不是视网膜显示(总是X2)。 我的verts: int num = 4; b2Vec2 verts[] = { b2Vec2(-100.0f / 100.0, -20.0f / 100.0), //A b2Vec2(100.0f / 100.0, -20.0f / 100.0), //B b2Vec2(100.0f / 100.0, -100.0f / 100.0), […]

pipe理通用ios应用程序中的资源

我正在开发一个cocos2d游戏。 我需要使其普遍化。 问题是我想使用最小量的图像来保持通用二进制尽可能小。 有没有可能,我可以使用相同的图像,我使用的iPhone,视网膜和iPad不知何故? 如果是,我该怎么做? 它应该是什么样的图像尺寸和质量? 任何build议? 感谢和最好的问候

如何更改CCTexture2D颜色

我有一个使用纹理和glDrawArray填充的多边形(使用本教程中描述的方法: http : //www.raywenderlich.com/32954/how-to-create-a-game-like-tiny-wings-with -cocos2d-2-x-part-1 )。 我希望能够使用在游戏中随机生成的纯色填充我的多边形。 要使用本教程中的技巧来做到这一点,我需要dynamic地创build一个纯色的纹理(例如,我可能想要生成一个1×1的红色正方形,并用它来填充我的多边形)。 有没有办法改变cocos2d纹理的颜色,类似于你将如何使用[mySprite changeColor:ccRed]来改变一个精灵的颜色? 所以,如果我有我的初始纹理,说一个1×1的白色正方形,有没有办法我可以改变这个纹理到一个1×1的红色正方形? 我已经尝试使用CCRenderTexture(如本教程中所述: http ://www.raywenderlich.com/33266/how-to-create-dynamic-textures-with-ccrendertexture-in-cocos2d-2-x),但是,作为我将填充许多多边形,这种方法certificate是相当缓慢的。 我也尝试使用下面的代码来创build我的纹理: // fill with solid red GLubyte buffer[3] = {255, 0, 0}; CCTexture2D *texture = [[CCTexture2D alloc] initWithData:buffer pixelFormat:kCCTexture2DPixelFormat_RGB888 pixelsWide:1 pixelsHigh:1 contentSize:m]; 虽然上面的工作相当不错,但它比从CCSprite抓取纹理还要慢。 基本上,我正在寻找一种尽可能高效地生成dynamic纹理的方法。 这里是我用来填充我的多边形的代码: GLubyte buffer[3] = {arc4random()%256,arc4random()%256,arc4random()%256}; CGSize size; size.width = 2; size.height = 2; CCTexture2D *texture = [[CCTexture2D […]

iPhone中的循环引用Cocos2D游戏编程教材

一个被滥用的话题,但我无法find答案。 我正在学习“学习iPhone和iPad的cocos2d游戏开发”一书,并且无法真正了解ShootEmUp示例中的方法(可用于1 )是否是最好的方法。 作者使用了一个GameScene,其中添加了各种对象(例如Ship,InputLayer等)。 有争议的是,在这些对象中,通过使用静态方法调用GameScene,该方法返回在GameScene的init方法中实例化的GameScene类的静态实例。 这对我来说似乎是一个循环引用,根据许多(例如见这篇文章)是要避免的。 我不确定这是否也适用于游戏编程,因为这种方法可以在1中find,这可能是有原因的。 任何人都可以澄清? 我不确定是完全重构我的代码还是保持静态variables方法。 非常感谢你 :)! 源代码

游戏崩溃从ipa文件,但从Xcode运行良好?

现在有些尴尬。 当我直接从Xcode运行我的项目到我的设备,它运行完美,没有任何崩溃。 但是当我创build一个该项目的ipa文件并使用iTunes将该ipa安装到我的设备中时,仅当我启动我的游戏屏幕时第一次崩溃,稍后当我开始玩游戏时,它运行良好。 记住,我的游戏玩法是在用户导航2个初始屏幕之后开始的,这两个屏幕在任何一个条件下工作都很好。 (即从Xcode或从ipa文件运行)。 我不明白的是,如果问题出在游戏类的init方法中,为什么直接从Xcode运行它时不会崩溃。 作为ipa或Xcode运行时是否存在代码压缩或代码编译的不同机制? 任何帮助,将不胜感激。 谢谢