Я знаю, что я, вероятно, разместил три вопроса, связанных с этим, а затем удалил их, но это только потому, что я решил их до того, как получил ответ. Но, этого я не могу решить, и я не верю, что это так сложно по сравнению с другими. Итак, с дальнейшим обожанием, вот моя проблема:Проблема с обнаружением столкновений в квадрате (iPhone)
Так что я использую Cocos2d, и одна из главных проблем заключается в том, что у них нет кнопок. Чтобы компенсировать отсутствие кнопок, я пытаюсь обнаружить, что если касание закончилось, оно столкнулось с квадратом (кнопка). Вот мой код:
- (void)ccTouchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
{
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:touch.view];
NSLog(@"%f", 240-location.y);
if (isReady == YES)
{
if (((240-location.y) <= (240-StartButton.position.x - 100) || -(240-location.y) >= (240-StartButton.position.x) + 100) && ((160-location.x) <= (160-StartButton.position.y) - 25 || (160-location.x) >= (160-StartButton.position.y) + 25))
{
NSLog(@"Coll:%f", 240-StartButton.position.x);
CCScene *scene = [PlayScene node];
[[CCDirector sharedDirector] replaceScene:[CCZoomFlipAngularTransition transitionWithDuration:2.0f scene:scene orientation:kOrientationRightOver]];
}
}
}
Знаете ли вы, что я делаю неправильно?
Не уверен, что это специально, но похоже, что некоторые из ваших переменных переключаются ближе к концу. Вы сравниваете x с y. –
@ Ed Marty: Да, это было бы специально ... – 2010-05-22 05:23:29
Вы не объяснили, что случилось. Разве это не соответствует? Соответствует ли это, когда это не должно быть? Вы вообще не участвуете? Кроме того, вы установили точку останова и шагнули через нее, чтобы увидеть, какие значения принимают переменные? –