使用参数存储函数数组以便稍后执行

时间:2012-06-11 12:35:57

标签: objective-c cocos2d-iphone box2d

我有一种感觉,以下是缺乏良好的设计,所以如果你能想到一个更好的解决方案,请继续告诉我。我正在使用cocos2d和box2d为iphone制作游戏。

我有一个包含1000个CGPoints的数组,它们代表构成一段随机绘制地形的直线段。在主要角色位置的后面和前面绘制一个屏幕宽度,并在每个游戏步骤中检查其位置。

我有多个box2d对象需要在沿地形的点上创建(基于字符位置)。

问题:

如何存储多个函数引用来创建对象,包括参数,这些参数可以在我的角色到达某个位置时执行。

更多信息:

基本上在我的游戏中,为了节省计算,我在角色前后固定距离创建游戏世界。我已经用地形管理了这个,但是想要在游戏物品中应用相同的概念,比如敌人,桥梁等等。这些都是box2d体,所以我试图确定一种方法来存储即将出现的box2d体的列表(位置在创建它们并循环遍历每个游戏步骤,以便在角色前面的正确位置创建它们。

1 个答案:

答案 0 :(得分:2)

您可以使用NSInvocation对象来存储完整的原型方法调用(目标,选择器和参数)。您可以使用-invoke在将来某个时间调用该方法,并使用-getReturnValue:获取返回值。