Tag: cocos2d iphone

在Cocos2d中,多层次的button,我怎样控制哪个button对用户的触摸做出反应?

现在我有一个游戏的CCLayer ,有几个button。 我想popup一个对话框,其中也有几个button。 我怎样才能closures背景button,只激活前景button?

cocos2d视网膜支持不再工作

我遇到了支持视网膜显示的cocos2d游戏。 一切工作正常,但现在我正在进行更新。 在这个更新中,我只添加了3个新的图像(也在高清)。 我使用zwoptex制作纹理地图集。 生成的png是gameart.png和gameart-hd.png。 我正在使用此代码加载文件: CCSpriteFrameCache* frameCache = [CCSpriteFrameCache sharedSpriteFrameCache]; [frameCache addSpriteFramesWithFile:@"gameart.plist"]; 当得到我使用spriteWithFrameName:方法的任何精灵。 以前的一切工作正常(甚至在iPhone 4上),但现在我只在iPhone 4上得到以下错误: cocos2d: CCSpriteFrameCache: Frame 'tilei.png' not found *** Assertion failure in -[BoardTile initWithSpriteFrame:] 文件tilei在gameart.png和gameart-hd.png(tilei.png和tilei-hd.png)以及plist文件中都可用。 我重新检查了一千次。 有什么可能会出错? 注意,错误不会显示-hd后缀,即使它仅在iPhone 4上运行时发生。

我的cocos2d应用程序每秒都会增加实际的内存使用情况是否正常?

我为iPad开发了cocos2d iOS应用程序。 当我testing内存泄漏和对象分配我的实时字节是稳定的, 但是当我运行活动监视器,我看到我的应用程序的实际内存使用增加每秒0.02MB。 我想问问这是否正常,有人有类似的问题?

每5秒增加一个NSNumber – Cocos2d

我试图在Cocos2d中每5秒增加1个NSNumber ,但由于某种原因,它不工作(可能是明显的错误)。 我正在使用更新方法,但我认为这可能是错误的地方。 目前它只添加+1次。 我需要它每隔5秒不断地做这个: -(void) update: (CCTime) delta { // Save a string: NSNumber *anInt = [NSNumber numberWithInt:500]; NSNumber *bNumber = [NSNumber numberWithInt:[anInt intValue] + 1]; NSLog(@"Update Number%@",bNumber); }

Cocos2D的可用文件后缀是什么,用于多分辨率支持?

我一直在寻找一段时间,但很难find一个可用的后缀列表,你可以使用多分辨率的支持,如果有的话? 也就是说,根据您所在的设备在维度中加载图片。 特别是对于界面。 我知道“-hd”后缀存在ipad视网膜显示支持,但除此之外,如果有普通iPad分辨率的任何后缀以及游戏加载到iPhone上时的iPhone后缀,也是很好的。 我尝试过使用“-ipad”和“-iphone”这样的后缀,但是它们似乎没有被识别。 任何人都有如何可以实现的提示,如果有的话?

iPad视网膜屏幕上的黑色屏幕

我在iPad上运行一个小游戏应用程序时遇到问题。 当我用iPad视网膜显示器模拟iOS 5.1的模拟器时,应用程序以我的默认图像@ x2开始,显示图像后显示黑屏。 在正常的iPad iOS 5.1模拟器运行良好。 Xcode告诉我只有这个: 2012-04-25 14:24:26.978 AppName[83696:10a03] cocos2d: Frame interval: 1 2012-04-25 14:24:26.980 AppName[83696:10a03] cocos2d: surface size: 1536×2048 任何想法? 谢谢 @Smamim Hossain:同样的错误,我把我的完整Appdelegate.m #import "cocos2d.h" #import "AppDelegate.h" #import "GameConfig.h" #import "Intro.h" #import "RootViewController.h" @implementation AppDelegate @synthesize window; – (void) removeStartupFlicker { //#if GAME_AUTOROTATION == kGameAutorotationUIViewController //#endif // GAME_AUTOROTATION == kGameAutorotationUIViewController } – […]

从日程表中删除正确的CCSprite

在我解释我的问题之前,我对这个项目的工作做了非常不完整的说明 – 我的问题是 – 当我想检查损坏的时间到了,我想从数组中删除该对象! 我已经尝试删除它在checkForDamage中,但因为这与ccTime它只是删除每个对象(当我使用removeObjectAtIndex:0摆脱第一个)。 我不能把它放在stopCheckDamage因为当第一个的伤害被检查的时候,玩家不妨放下另一个炸弹。 checkForDamage工作得很好,当用户被击中,我break; 它并调用stopCheckDamage。 我的问题是当用户没有被击中,因为那么不存在的精灵留在数组中,只是弄乱了东西。 我一直在想每一个我知道的方式,如果玩家没有被击中,我似乎无法find一种方法在延迟三秒后删除一个特定的对象。 我还为相关的代码做了一个pastebin,你可以在这里find它

如何创builddynamicCGPoint **数组

我有一些地图(用Tiled QT制作的地图),我想根据这些地图的对象组创build一个CGpoint **数组(我称之为Waypoints)。 每个地图可以有几个我称之为path的路标。 //Create the first dimension int nbrOfPaths = [[self.tileMap objectGroups] count]; CGPoint **pathArray = malloc(nbrOfPaths * sizeof(CGPoint *)); 然后是第二个维度 //Create the second dimension int pathCounter = 0; while ((path = [self.tileMap objectGroupNamed:[NSString stringWithFormat:@"Path%d", pathCounter]])) { int nbrOfWpts = 0; while ((waypoint = [path objectNamed:[NSString stringWithFormat:@"Wpt%d", nbrOfWpts]])) { nbrOfWpts++; } pathArray[pathCounter] = malloc(nbrOfWpts […]

在Game Center上validation本地用户时滞后

对于我的cocos2d游戏,我在AppDelegate的applicationDidFinishLaunching方法中validation本地用户。 但是,只要authentication完成,当“欢迎回来,X”消息滑落并备份时,就会在我的游戏中造成短暂的延迟。 问题是我无法控制何时validation完成 – 很明显,持续时间高度依赖于设备的数据连接。 有时,当我在菜单场景中时,消息(以及不可避免的伴随延迟)出现,这是可以接受的,因为我的菜单或多或less是静态的。 通常情况下,游戏已经开始的时候会发生。 因为我的游戏是一个无休止的卷轴,所以这个信息总是会导致玩家的移动,甚至有时会导致玩家死亡(半秒滞后就足够了: – /)。 我怎样才能绕过这个? 我以前在菜单场景之前有一个加载场景来加载我的一些资源,而且由于加载需要一段时间,在加载场景中总是有很好的机会完成authentication,但是当然我不能保证这将是真实的!

从Cocos2D-v2中的文档文件夹添加精灵帧

我需要将下载的spriteframe(plist / png set)从Documents文件夹添加到Cocos2D v2的spriteframecaching中。 我有这个代码库工作很长一段时间,但它不工作了,我现在不知道如何添加spriteframe内容不存在的权利,在束的根目录下。 从它看起来,我曾经通过使用相对path添加plist / png spriteframe对,并将其发送到CCSpriteFrameCache。 就像../Documents/hosteddownloads/somespriteframe.plist等。通常你只需要发送myspriteframe.plist到[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:spriteframefile]; 。 我知道从捆绑到plist和png的相对path。 如果只有我可以使CCSpriteFrameCache加载东西,如果我只是指定这些path…