让我看看我是否可以清楚说明我正在尝试做什么...我会提炼出它的核心问题。c和客观c变量
我有一个Objective-C程序和一个c回调函数。上下文是我使用iphone sdk使用cocos2d和花栗鼠物理。我想要做的是在子弹和怪物相撞时更新“分数”。一切工作正常,除了更新分数。
游戏逻辑在obj-c中,但实际的碰撞逻辑是在一个c函数中完成的,当事物碰撞时被调用。例如,我在那里渲染了碰撞的火焰/爆炸。我也想更新分数。
问题出在这里: 但是score是“GAME”对象的一个实例变量,我没有该实例变量的可见性。我想我可以通过名为& addscore或其他参数传递给c函数的另一个参数,但想知道是否有一个更明显的方法来做到这一点,因为可能有一堆超过'score'的其他变量必须更新碰撞。
网是我需要变量的对象被c函数看到,反之亦然:函数中设置的那些变量可以在对象中看到。
在此先感谢。
请注意,当您使用Xcode编译代码时,它实际上编译为Objective-C或Objective-C++。所以我们喜欢称之为“C回调函数”,将能够在其中使用Objective-C语法。所以你可以传递你的对象,或者使用一个单例。 – nash 2009-12-14 08:56:22