0

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

试图制作这样的游戏: 动物拼图

和拼图图像和这样的碎片: 拼图图像和碎片

4

1 回答 1

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;
}
于 2012-12-02T06:00:13.330 回答