我试图写一个if语句,说明如果block1的位置超过了某个点,那么block3就会发生这种情况。然而,当我尝试使用>=进行比较时,我得到了一个错误:“不能用列表类型的参数(@lvalue CGPoint,CGPoint)调用>=”。
以下是代码:
if block1.position >= CGPoint(self.size.width * 0.35,700) {
block3.hidden = false
block3.runAction(moveDownLeft)
}block1是SKSpriteNode。
发布于 2015-01-05 00:54:18
CGPoint是一个结构。CMD-点击它查看定义:
struct CGPoint {
var x: CGFloat
var y: CGFloat
}将单个元素进行比较,您就完成了。
发布于 2015-01-05 01:19:48
// if p2 > p1 then p2 is above p1 and p2 is on the right of p1
func >=(lhs: CGPoint, rhs: CGPoint) -> Bool {
return lhs.x >= rhs.x && lhs.y >= rhs.y
}
// if p2 < p1 then p2 is below p1 and p2 is on the left of p1
func <=(lhs: CGPoint, rhs: CGPoint) -> Bool {
return lhs.x <= rhs.x && lhs.y <= rhs.y
}也在此页上发布
https://stackoverflow.com/questions/27772051
复制相似问题