Tag: cocos2d iphone

Cocos2d和UIScrollView

我正在开发一个类似于下图所示场景的IPhone cocos2d应用程序(我希望你能看到): 在右边有一个垂直滚动的菜单,包含在一个分离的层(menulayer)中,它本身包含在主场景的图层中。 在左边的主场景图层中有一个后退button。 我正在试图利用这个链接中描述的UIScrollView。 但是,尽pipe我可以看到UIScrollView正在工作,但我正在尝试一些问题: 1)虽然menulayer实际上滚动它似乎菜单不。 实际上,当按菜单项8按菜单项4时,当按菜单项7时,菜单项3被选中,等等。 2)后退button仅在机器人处于第一位置时起作用 你有什么想法,我该怎么办来解决它?

在cocos2d v3中播放audio

我试图让背景音乐播放和循环,以及一次又一次的发音,例如升级等。 我find了很多关于使用SimpleAudioEngine的教程,但是当我导入SimpleAudioEngine.h时,编译器显示“SimpleAudioEngine.h file not found” 我正在使用SpriteBuilder和cocos2d v3。 有谁知道我从哪里可以得到这个class? 谢谢

何时使用CC_CONTENT_SCALE_FACTOR()?

我有点困惑什么时候在我的应用程序中使用CC_CONTENT_SCALE_FACTOR()。 我使用Box2D进行碰撞检测,并创build一个b2Body的顶点。 现在我应该只用PTM_Ratio还是用PTM_Ratio乘以CC_CONTENT_SCALE_FACTOR()来划分每个点? 我应该在我的应用程序中的任何地方使用CC_CONTENT_SCALE_FACTOR(),如果我不处理像素? 我应该只使用CC_CONTENT_SCALE_FACTOR()GLESDebugDraw像这样? _debugDraw = new GLESDebugDraw( ptmRatio * CC_CONTENT_SCALE_FACTOR()); ? 谢谢!

如何dynamic创build一个带有循环的2d NSMutableArray

我在这里做了一个原创的职位 起初,我试图填补CGPoint ** allPaths。 第一个维度是“path”,第二个维度是“路途点”。 我从这里得到一个CGPoint。 例如:allPaths [0] [2]会给我第一个path,第三个航点的CGPoint。 我用简单的C语言成功地完成了这个循环。 现在我正在尝试在Obj-C和NSMutableArrays中做同样的事情。 这是我的代码: CCTMXObjectGroup *path; NSMutableDictionary *waypoint; int pathCounter = 0; int waypointCounter = 0; NSMutableArray *allPaths = [[NSMutableArray alloc] init]; NSMutableArray *allWaypointsForAPath = [[NSMutableArray alloc] init]; //Get all the Paths while ((path = [self.tileMap objectGroupNamed:[NSString stringWithFormat:@"Path%d", pathCounter]])) { waypointCounter = 0; //Empty all the data […]

需要帮助修复内存泄漏 – NSMutableString

一直玩弄仪器,没有太多的运气,找出如何解决这个内存泄漏。 首先是代码: -(NSString *) randomizeHint:(NSString *) wordToShuffle{ NSMutableString * outputstring = [NSMutableString stringWithCapacity:[wordToShuffle length]]; NSMutableSet * usedNumberSet = [NSMutableSet setWithCapacity:[wordToShuffle length]]; for (int i=0; i<[wordToShuffle length]; i++) { int randomnum = arc4random()%[wordToShuffle length]; while ([usedNumberSet containsObject:[NSNumber numberWithInt:randomnum]]==YES) { randomnum = arc4random()%[wordToShuffle length]; } [usedNumberSet addObject:[NSNumber numberWithInt:randomnum]]; [outputstring appendFormat:@"%c",[wordToShuffle characterAtIndex:randomnum]]; } CCLOG(@"outputstring is:%@",outputstring); return outputstring; } […]

Box2d对象投掷更平滑,速度相同

我有一个box2d对象,我从上到下,我已经设置了它的速度不变,但是当我运行它,这个对象有时会有不同的速度,我怎样才能使这个对象更平滑。 以下是一些方法来显示我如何创buildbox2d世界和box2d身体对象。 #pragma -mark Box2D World -(void)createWorld { // Define the gravity vector. b2Vec2 b_gravity; b_gravity.Set(0.0f, -9.8f); // Do we want to let bodies sleep? // This will speed up the physics simulation bool doSleep = true; // Construct a world object, which will hold and simulate the rigid bodies. world = new b2World(b_gravity); world->SetAllowSleeping(doSleep); […]

Cocos2d和iPhone:视差背景多纹理地图集提供了许多内存警告

我想解决的问题是: 我有6个条纹,我需要以不同的速度移动。 2048 * 2048的纹理表单是不够的,为了解决这个问题,我把图像分成两部分(上半部分和下半部分),所以每个条纹正好是960 * 640像素。 一般的algorithm是为每个条纹分配一个上下半部分,并在每一帧中移动它们,确保在退出用户视图时将它们重新放置在屏幕的顶部。 在本书的ShootEmUp示例中,我的类实现是对ParallaxBackground的直接修改, 在使用仪器运行和分析时给出了太多的内存警告。 请看下面的分析: OpenGL分析: 活动监视器: 令我担心的是在这两个分析中都有大量的内存警告(分别是24和5)。 编辑:下面你可以find解释解释的评论

声音循环与简单audio引擎之间略有暂停

在简单audio引擎中使用playBackgroundMusic loop:YES播放背景音乐时playBackgroundMusic loop:YES ,在audio循环回到开头并重新开始之前似乎有一个小的延迟。 有什么办法可以防止这种轻微的停顿吗?

新的使用XCode仪器来解释iPhone开发的内存警告,需要指导

我正在做一个iPhone游戏,接收内存警告,我没有足够的经验来解释。 我一直在看一些iTunesU的教程,但我还是不是很擅长这个.. 在运行我的游戏时,我收到了各种内存泄漏,我想了解如何正确解释仪器中的堆栈跟踪显示。 附上ObjectAllocation仪器输出的截图 。 即使我缩放filter,我不设法过滤ObjectSummary中的数据 。 当GameScene被初始化并且所有数据被加载(ParallaxBackground,CCSpriteBatchNode)以及Sprite和子弹框被创build(在SpriteFrame的CCArray中)时, 1中的内存使用峰值发生。 大的蓝色峰值只是在加载时间,但应用程序冻结,然后崩溃后一段时间,从图中我看到内存使用(蓝色条)已经下降..所以我不安静得到这一点。 此外,当我尝试使用泄漏仪器的应用程序崩溃.. 我知道对于有经验的人来说这是一个非常愚蠢的问题,但是我只需要一些额外的帮助就可以开始使用这个工具集。 我认为内存问题是由于我分配的精灵caching类中的精灵,但我不确定这一点,因此想要调查这使用仪器,但无法find如何看到什么是造成内存警告的对象和如何访问堆栈跟踪 PS:我正在使用iPod第四代,我使用Cocos2D作为库 编辑:我也不明白为什么如果活字节只有1.01 MB的应用程序崩溃,为什么我仍然收到内存警告(见黑旗)。 这是由于某些指针引用某个空variables或由于内存分配过多? 1.01 MB对我来说不太好 编辑2:遵循Marion的build议,我使用活动监视器,并意识到有效的实际内存使用量是55.39 MB。 我误解了“活字节”这个词。 我会试着进一步深入研究这个问题,并且会让现在的问题不被接受,从而让其他人做出贡献。 如果在两天之内我不会有任何其他答案,我会标记为接受当前的答案。 谢谢! 非常感谢!

Cocos2d 3.0 + Chipmunk + CCAnimation:将animation物体移动到物体上。 怎么样?

我有一艘附有物理机构的船。 这艘船是静态的物理机构。 船从CCAnimateMoveTo移动从左到右。 当我点击屏幕时,我的angular色掉下来了。 我发现碰撞很好。 但是我想在碰撞后我的angular色就​​会落在船上,并继续前进。 人物是dynamic的身体。 链接到示例video: 示例video 我在这里创造一条船: – (void)createBoat { currentBoat = [CCSprite spriteWithImageNamed:@"Boat.png"]; currentBoat.position = ccp(0 – currentBoat.boundingBox.size.width, winSize.height * 0.2); // currentBoat.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){0, 0, currentBoat.contentSize.width, currentBoat.contentSize.height * 0.5} cornerRadius:0]; CGPoint shape[6]; shape[0] = ccp(0, 30); shape[1] = ccp(64, 10); shape[2] = ccp(128, 30); shape[3] = ccp(128, 0); shape[4] […]