iOS编程最佳实践 - 益智帮助

时间:2011-09-21 18:49:49

标签: objective-c ios cocos2d-iphone box2d

我正在为iPad / iOS创建一个简单的拖放拼图。基本上你可以将一个精灵拖到一个位置,如果它匹配然后bingo,它匹配。像孩子们的动物益智游戏。将鸡肉拖到鸡肉上,但不要将鸡肉拖到奶牛身上。

现在,我设置了关卡,我在拼图上进行了碰撞检测。我也设置了边界,加速度计用于清除游戏块。

我的问题是我的空位是什么路线?我想把它们作为精灵添加到固定位置,然后检查鸡块是否与鸡槽碰撞然后宾果游戏。但这似乎效率低下,因为我必须创建一堆它们。

然后我开始考虑循环并使用'空片'对象。但是我仍然需要“硬编码”空插槽的位置。

我现在正在使用cocos2d和box2d,实际上只需指向正确的方向。是否有我应该使用的顶点编辑器?我是否将精灵设置为传感器?

由于

1 个答案:

答案 0 :(得分:0)

如果您创建三个空插槽,请为每个插槽指定递增的z值。

int index = 0;

[self addChild:emptyPiece1 z:++index]
[self addChild:emptyPiece2 z:++index]
[self addChild:emptyPiece3 z:++index]

然后对于您的实际作品,为每个作品增加一个z值。

[self addChild:puzzlePiece1 z:++index]
[self addChild:puzzlePiece2 z:++index]
[self addChild:puzzlePiece3 z:++index]

您可以比较碰撞时的z值,看看两者之间的差异是否正确(在本例中为3)。

类似的东西:

if (abs(obj1.z - obj2.z) == (index/2)) {}