Тот факт, что вы не объявляли какие-либо правила, не имеет значения. Вам нужны трюки для обнаружения столкновений. Я предполагаю, что у вас по крайней мере есть координаты x и y для крупье, и вы должны иметь некоторое представление о его высоте и ширине. Судя по названию вопроса, кажется, что вы используете изображения для рисования объектов, которые вы хотите проверить на столкновение, поэтому вы должны знать высоту и ширину изображений, которые вы используете. Если у вас нет этой информации, вы не можете нарисовать объекты в нужном месте и, конечно, не можете проверить наличие столкновений.
Вы, в основном, хотите использовать те же риты, которые используете для рисования объектов.
Некоторые примеры кода:
Если ваши координаты указывают на середину крупье, вы бы использовали что-то вроде следующего:
if (CGRectIntersectsRect(CGRectMake(stickman.x-stickman.width/2,
stickman.y-stickman.height/2,
stickman.width,
stickman.height),
CGRectMake(spikes.x-spikes.width/2,
spikes.y-spikes.height/2,
spikes.width,
spikes.height))) {
// Do whatever it is you need to do. For instance:
[self showEndScreen];
}
Если бы ваши координаты указывали на верхний левый угол вашего крупье, вы бы использовали:
if (CGRectIntersectsRect(CGRectMake(stickman.x,
stickman.y,
stickman.width,
stickman.height),
CGRectMake(spikes.x,
spikes.y,
spikes.width,
spikes.height))) {
// Do whatever it is you need to do. For instance:
[self showEndScreen];
}
Если бы я мог дать вам предложение, я бы предложил сохранить координаты и размеры в CGRect, чтобы вам не приходилось создавать новый CGRect каждый раз, когда вы проверяете столкновение.