2015-07-08 3 views
0

С помощью SpriteKit я создал SKSpriteNode под названием lightSaber и используя метод touchhesMoved, я могу либо повернуть SKSpriteNode, либо перевести его влево или вправо. Есть ли способ сделать это так, чтобы он делал это или в зависимости от того, где я захватываю SKSpriteNode? (Например, лезвие или ручка)Разделение касанийМодуль за один SKSpriteNode

ответ

0

Вы можете получить позицию TouchEvent через

CGPoint location = [touch locationInNode:self]; 

Это даст вам возможность добавить собственную логику, где вы касаетесь экрана. Например:

if(location.x > 300) { 
    //Do this 
} else { 
    //Do that 
} 

Вы можете также сделать меч на две части, то есть два узла и имя каждого узла и слушать сенсорного события на обоих узлах.

Получить узел в touchesBegan по

SKNode *node = [self nodeAtPoint:location]; 
if([node.name [email protected]"Handle"]) { 

} else if ([node.name [email protected]"Blade"]) { 

} 
+0

Но лезвие и ручка не всегда один поверх другого, так как прикосновение лезвия будет вращать светомеч, так location.x> 300 не обязательно Помогите. Разделение его на два объекта также не очень практично, так как они всегда должны правильно касаться и ориентироваться. – Lahav

Смежные вопросы