gpt4 book ai didi

iphone - Cocos2d 中链接类方法

转载 作者:行者123 更新时间:2023-11-29 04:50:44 25 4
gpt4 key购买 nike

我正在努力将子弹引擎与游戏代码的其余部分集成。

这包括使 Player 类能够调用 BulletCache 类中的方法而不会使程序崩溃(错误显示“无法识别的选择器发送到实例...”)。

到目前为止,我的集成尝试包括在 Player 类的接口(interface)中创建一个 BulletCache 对象,例如:

@interface Player : LevelObject
{
BulletCache *bulletCache;
}

但我相信需要一个构造函数来进一步链接这两个类。尽管都是 CCNode 的子类,但这两个类都没有直接相关(Player 类是多个类的子类,尽管最终是 CCNode 的子类)

任何人都可以给我任何关于如何进一步链接这两个类的进一步提示,以便 Player 类方法可以调用 BulletCache 的方法吗?

编辑:因为我遇到了无限循环,并且控制台不断报告 BulletCache 类中的 CCSprite 相关错误,所以我在 BulletCache 方法旁边放置了一个断点:

CCSpriteFrame* bulletFrame = [[CCSpriteFrameCache sharedSpriteFrameCache] 
spriteFrameByName:@"bullet1big e0000.png"];

并运行“构建和调试”。点击主菜单上的“新游戏”按钮后,控制台显示加载日志,然后立即停止,控制台底部显示消息:“GDB:在断点 1 处停止(命中计数:1)'-init-Line 84' 第 84 行是我放置断点的位置,因此看起来程序的这段代码存在问题。但它看起来并不不正确,并且方法应该匹配 - 我没有收到任何“警告:-spriteFrameByName 可能不会响应 CCSpriteFrame”

最佳答案

确保导入 BulletCache 类。还需要在Player的init方法中初始化bulletCache。

然后可以通过

调用BulletCache类的任何实例方法
[bullectCache somemethod]

某些方法需要替换为BulletCache类中的方法

关于iphone - Cocos2d 中链接类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8891176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com