拆分 touchesMoved 跨单个 SKSpriteNode
Splitting touchesMoved across a single SKSpriteNode
我使用 SpriteKit 创建了一个名为 lightSaber 的 SKSpriteNode,并使用 touchesMoved 方法,我能够旋转 SKSpriteNode 或向左或向右平移它。有没有办法让它根据我抓取 SKSpriteNode 的位置执行一个或两个? (例如 blade 或句柄)
您可以通过
获取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"]) {
}
我使用 SpriteKit 创建了一个名为 lightSaber 的 SKSpriteNode,并使用 touchesMoved 方法,我能够旋转 SKSpriteNode 或向左或向右平移它。有没有办法让它根据我抓取 SKSpriteNode 的位置执行一个或两个? (例如 blade 或句柄)
您可以通过
获取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"]) {
}