cpSpaceHashEach - 同一行有2个问题

时间:2011-10-16 00:10:47

标签: ios cocos2d-iphone chipmunk

我正在努力掌握花栗鼠的基础知识。在一些教程中我找到了一句话:

cpSpaceHashEach(space->activeShapes, &updateShape, nil);

但我在这里犯了两个错误:

1)C99中隐含的功能声明无效

2)'struct cpSpace'中没有名为'activeShapes'的成员

有什么问题?为什么不起作用?我需要包含其他内容吗?

2 个答案:

答案 0 :(得分:5)

只是为了澄清一些代码以防其他人遇到此问题,而不是

cpSpaceHashEach(space->activeShapes, &updateShape, nil); 
你会用:

cpSpaceEachShape(space, &updateShape, nil);

显然,这项更改已经完成,因此更容易保持代码面向未来,因为activeShapes不打算以这种方式使用。

答案 1 :(得分:4)

深入更新日志:(https://github.com/slembcke/Chipmunk-Physics/blob/master/VERSION.txt)

如果你看,你会在Chipmunk 5.x cpSpace中找到它。*形状在标题中被标记为cpSpace结构的私有成员。然后,在Chipmunk 6.x中,默认情况下禁用了私有访问,并且出现了一个cpSpaceEachShape()函数,它几乎完全取代了您尝试执行的cpSpaceHashEach()+ cpSpace.activeShapes。