Я программирую небольшую игру. Для этого мне нужны стены. Therefor я использовал:Проверьте, есть ли SKShapeNode, который содержит строку
Wall[w] = [[SKShapeNode alloc] init];
Wall[w].path = WallPos[w];
Wall[w].lineWidth = 4;
Wall[w].strokeColor = [UIColor whiteColor];
Wall[w].zPosition = 3;
[self addChild: Wall[w]];
Стена является массив SKShapeNodes и устанавливается в @interface, так что я могу использовать его в каждом методе. WallPos содержит CGMutablePathRefs. В TouchesBegan и TouchesMoved Я вызываю метод, который должен проверить, если вы коснулись одной из стен. У меня есть также некоторые SKShapeNodes, которые являются прямоугольниками, и проверить, если они соприкоснулись, я использовал
if ([SomeShape containsPoint: Position] {
//Do some stuff
}
Но с линией она не работает. Иногда я касаюсь линии, и ничего не происходит. Тогда я видел это: Detecting Touch on SKShapeNode that is a Line и я пытался сделать это таким образом:
for (int i = 0; i < NrWalls; i++) {
if (CGRectContainsPoint(Wall[i].frame, Position)) {
[self GameOver];
}
}
Но теперь каждый пункт я прикасаюсь устанавливает точку «Game Over» для меня !!
У кого-нибудь есть идея, как я могу проверить, не затронута ли линия?
Благодарим за помощь!
DXXL