我正在尝试编写if语句,说明如果block1
的位置超过某一点,请将此情况发生在block3
。但是,当我尝试使用>=
进行比较时,我得到错误:“无法调用> =使用列表类型的参数(@lvalue CGPoint,CGPoint)”
以下是代码:
if block1.position >= CGPoint(self.size.width * 0.35,700) {
block3.hidden = false
block3.runAction(moveDownLeft)
}
block1是SKSpriteNode。
答案 0 :(得分:1)
CGPoint是一个结构。 CMD-点击它查看定义:
struct CGPoint {
var x: CGFloat
var y: CGFloat
}
比较单个元素并完成。
答案 1 :(得分:0)
// 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
}
也发布在this page
上