gpt4 book ai didi

swift - 触摸始于物理 body

转载 作者:行者123 更新时间:2023-11-30 10:11:46 33 4
gpt4 key购买 nike

我正在创建一个 2x2 矩阵,并将节点放入其中。当我选择矩阵某个位置内的节点时,他使用着色操作将其颜色更改为红色。

问题是,如果节点图像太大,即使我触摸矩阵的另一个正方形,他也会识别触摸。

例如:

[0-0][0-1]
[1-0][y]

我的节点位于 Y 方 block 中(位置:1-1)。如果图像大于方 block 的大小,即使我点击 1-0 方 block ,他也会得到触摸。

我无法使用节点的矩阵位置进行触摸,因为图像与其重叠,因此它永远不会接触矩阵正方形。

无论如何我可以使用节点的 PhyshicsBody 而不是

let location = touch.locationInNode(self)
let node = nodeAtPoint(location)

最佳答案

如果我理解你的问题。

我知道您需要绘制元素符合触摸位置。

我所做的,在这个例子中我使用场景作为引用,但是你可以使用其他雪碧,好吧,我将屏幕切成4 block ,并且我得到了触摸点并验证了场景中的位置。

class test:SKScene{
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
if let touch = touches.first as? UITouch{
let touchLocation = touch.locationInNode(self)

if touchLocation.x < self.size.width/2 && touchLocation.y < self.size.height/2 {
//paint red [1,0]
}else if touchLocation.x < self.size.width/2 && touchLocation.y > self.size.height/2 {
//paint red [0,0]
}else if touchLocation.x > self.size.width/2 && touchLocation.y > self.size.height/2 {
//paint red [0,1]
}else if touchLocation.x > self.size.width/2 && touchLocation.y < self.size.height/2 {
//paint red [1,1]
}
}
}
}

希望能帮到你..

关于swift - 触摸始于物理 body ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32575206/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com