iphone - Cocos2d益智游戏,如何解决棋子位置?

时间:2012-12-01 15:32:52

标签: iphone objective-c cocos2d-iphone mask render-to-texture

我需要有关cocos2d的第一个应用程序的帮助, 我正在尝试开发益智游戏, 游戏有图像片段,它是透明的背景,我需要匹配你的peices到正确的位置/位置! 我的问题是我不知道如何在图像上找到它的确切位置/位置? 有人能帮帮我吗?

尝试制作这样的游戏: Animal Puzzle

和拼图图像和这样的碎片: Puzzle Image & pieces

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您想要检测用户何时将拼图块拖入正确的插槽。

如果是这种情况,如果我误解了,请纠正我,你至少需要两条信息才能实现:拼图的正确位置(即当该拼图的位置时)将拼图拼凑在一起),以及与用户移动时相同的拼图块的当前位置。一旦你有了这些信息,可能是两个CGPoints(correctPosition和currentPosition),你可以用ccpDistance()得到它们之间的距离:

CGPoint currentPosition = selectedPuzzlePiece.position;
float distanceFromCorrectPos = ccpDistance(correctPosition, currentPosition);

在上面的例子中,correctPosition可以是在片段混合之前存储的CGPoint,而selectedPuzzlePiece可以是用户当前正在触摸的CCSprite。然后,您可以使用distanceFromCorrectPos值来确定用户何时将其移动到足够近以将其捕捉到位:

float snapIntoPlaceThreshold = 10.0f;
if(distanceFromCorrectPos <= snapIntoPlaceThreshold) {
    selectedPuzzlePiece.position = correctPosition;
}