【发布时间】:2015-07-08 21:38:32
【问题描述】:
使用 SpriteKit,我创建了一个名为 lightSaber 的 SKSpriteNode,并且使用 touchesMoved 方法,我可以旋转 SKSpriteNode 或向左或向右平移。有没有办法让它取决于我在哪里抓取 SKSpriteNode? (例如刀片或手柄)
【问题讨论】:
标签: swift sprite-kit touch-event
使用 SpriteKit,我创建了一个名为 lightSaber 的 SKSpriteNode,并且使用 touchesMoved 方法,我可以旋转 SKSpriteNode 或向左或向右平移。有没有办法让它取决于我在哪里抓取 SKSpriteNode? (例如刀片或手柄)
【问题讨论】:
标签: swift sprite-kit touch-event
你可以通过
获得touchEvent的位置CGPoint location = [touch locationInNode:self];
这将使您能够将自定义逻辑添加到您触摸屏幕的位置。例如:
if(location.x > 300) {
//Do this
} else {
//Do that
}
您也可以将剑分成两部分,即两个节点并命名每个节点并监听两个节点上的触摸事件。
通过
获取touchesBegan内的节点
SKNode *node = [self nodeAtPoint:location];
if([node.name isEqualToString@"Handle"]) {
} else if ([node.name isEqualToString@"Blade"]) {
}
【讨论】: