iphone - игра-головоломка Cocos2d, как решить положение фигуры?
Мне нужна помощь с моим первым приложением с cocos2d, я пытаюсь разработать игру-головоломку, в игре есть кусочки изображений и прозрачный фон, и мне нужно подобрать эти кусочки в правильном месте / положении! моя проблема в том, что я не знаю, как найти точное положение / место фигуры на ее месте на изображении? Кто-нибудь может мне помочь?
пытаюсь сделать игру такой: Animal Puzzle
и изображение головоломки и кусочки, как это: изображение головоломки и кусочки
1 ответ
Если я правильно понимаю, вы хотите определить, когда пользователь перетянул кусок головоломки в правильный слот.
Если это так, и поправьте меня, если я неправильно понимаю, вам понадобится как минимум две части информации, чтобы это произошло: положение правильного местоположения части головоломки (то есть позиция, в которой должна быть часть головоломки, когда вместе), и текущее местоположение той же части головоломки, в которой он перемещается пользователем. Получив эту информацию, возможно, в виде двух CGPoints (correctPosition и currentPosition), вы можете получить расстояние между ними с помощью ccpDistance():
CGPoint currentPosition = selectedPuzzlePiece.position;
float distanceFromCorrectPos = ccpDistance(correctPosition, currentPosition);
В приведенном выше примере правильным положением может быть CGPoint, сохраняемый до того, как части смешаны, а selectedPuzzlePiece может быть CCSprite, к которому в данный момент обращается пользователь. Затем вы можете использовать значение distanceFromCorrectPos, чтобы определить, когда пользователь подвинул кусок достаточно близко, чтобы зафиксировать его на месте:
float snapIntoPlaceThreshold = 10.0f;
if(distanceFromCorrectPos <= snapIntoPlaceThreshold) {
selectedPuzzlePiece.position = correctPosition;
}