0

cocos2d を使用した最初のアプリで助けが必要です。パズル ゲームを開発しようとしています。ゲームには画像ピースがあり、背景が透明です。これらのピースを正しい場所/位置に合わせる必要があります。私の問題は、画像上のピースの正確な位置/場所を見つける方法がわからないことです。誰でも私を助けてくれますか?

このようなゲームを作ろうとしている : Animal Puzzle

とパズルの画像とこのようなピース: パズルの画像とピース

4

1 に答える 1

0

私の理解が正しければ、ユーザーがパズルのピースを正しいスロットにドラッグしたことを検出する必要があります。

その場合、私の誤解があれば訂正してください。それを実現するには、少なくとも 2 つの情報が必要です: パズルのピースの正しい位置 (つまり、パズルが完成したときにピースがあるべき位置)。ユーザーが動かしている同じパズルのピースの現在の位置。この情報を取得したら、おそらく 2 つの CGPoints (correctPosition と currentPosition) として、ccpDistance() を使用してそれらの間の距離を取得できます。

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

上記の例では、rectPosition はピースが混同される前に保存された CGPoint であり、selectedPuzzlePiece はユーザーが現在タッチしている CCSprite である可能性があります。次に、distanceFromCorrectPos 値を使用して、ユーザーがピースを所定の位置にスナップするのに十分近くに移動したタイミングを判断できます。

float snapIntoPlaceThreshold = 10.0f;
if(distanceFromCorrectPos <= snapIntoPlaceThreshold) {
    selectedPuzzlePiece.position = correctPosition;
}
于 2012-12-02T06:00:13.330 に答える