Създавам пъзел игра, за която трябва да местите обект около препятствия, за да достигнете целта си. По някаква причина обаче обектите се припокриват, когато използвам CGRectIntersectsRect. Искам обектите да СПРАТ, когато докосват ръбове един с друг, НЕ когато се припокриват. Текущият код е както следва:
-(void)objectObstacleCollision {
if (CGRectIntersectsRect(object.frame, obstacle1.frame)) {
xMotion = 0;
yMotion = 0;
if (objectMovingUp == YES) {
objectCrashedUp = YES;
objectMovingUp = NO;
if (objectCrashedUp == YES && objectMovingUp == NO) {
up.hidden = YES;
down.hidden = NO;
right.hidden = NO;
left.hidden = NO;
}
}
Това кара обектите да се припокриват при удар, което създава проблеми при опит за преместване на обекта в различна посока. След много различни опити, за живота си, не мога да накарам обекта да спре, когато докосне ръбове с препятствия. Как мога да накарам това да се случи?