Swift错误:"无法调用> =使用列表类型的参数(@lvalue CGPoint,CGPoint)"?

时间:2015-01-05 00:49:40

标签: swift xcode6

我正在尝试编写if语句,说明如果block1的位置超过某一点,请将此情况发生在block3。但是,当我尝试使用>=进行比较时,我得到错误:“无法调用> =使用列表类型的参数(@lvalue CGPoint,CGPoint)”

以下是代码:

 if block1.position >= CGPoint(self.size.width * 0.35,700) {

        block3.hidden = false
        block3.runAction(moveDownLeft)
        }

block1是SKSpriteNode。

2 个答案:

答案 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