我正在努力使Bullet引擎与游戏代码的其余部分集成。在Cocos2d中链接类方法
这包括使Player类能够从BulletCache类调用方法而不会崩溃程序(错误读取'无法识别的选择器发送到实例...')。
我在尝试整合到目前为止,包括创建播放器类的接口例如为:
@interface Player : LevelObject
{
BulletCache *bulletCache;
}
一个BulletCache的对象,但我认为需要有一个构造函数,以进一步连接两个班。虽然两者都是CCNode的子类
任何人都可以给我任何关于如何进一步链接两个类的进一步提示,所以Player类的方法可以调用BulletCache的方法?
编辑:因为我得到了一个无限循环,并在控制台不停地报告在BulletCache类相关的错误一个CCSprite,我把旁边BulletCache方法断点:
CCSpriteFrame* bulletFrame = [[CCSpriteFrameCache sharedSpriteFrameCache]
spriteFrameByName:@"bullet1big e0000.png"];
奔着“建设&调试“。点击mainMenu上的'New Game'按钮,控制台显示加载日志,然后立即停止,控制台的底部显示消息: “GDB:在断点1停止(命中次数:1)' - init-Line 84'84行是我放置断点的地方,所以它看起来像程序有这个代码的问题,但它看起来不正确,方法应该匹配 - 我没有得到任何'警告:。-spriteFrameByName可能不CCSpriteFrame”
THX更换!我如何着手初始化init方法中的bulletCache?我得到了一般要点,但是我会用什么方法来初始化,例如 - (id)init {BulleCache * bulletCache = [BulletCache init]; } 我不知道我可以用什么其他方法来初始化Player类中的Class。 – GPP 2012-01-17 19:25:31
如果你已经声明它是一个实例变量,那么你只需要做bulletCache = [BulletCache init];在Player类的init或scene方法中。 – Shubhank 2012-01-18 06:46:43
我加了 bulletCache = [BulletCache init]; 方法在Player init方法中,但它创建了一个无限循环并使应用程序崩溃。任何帮助? – GPP 2012-01-18 08:33:36