【问题标题】:CGPointMake in SwiftSwift 中的 CGPointMake
【发布时间】:2014-07-27 01:11:29
【问题描述】:

如何在Swift中使用CGPointMake?有没有等价物?我收到一个错误:

使用未解析的标识符“CGPointMake”

基本上,我正在尝试为 Sprite Kit 节点分配一个位置,但无法弄清楚如何在 Swift 中执行此操作。

class PlayerSpaceship: Spaceship {

    func launchMissile() {

        var missile = Missile.playerMissile()

        // This line gives above mentioned error.    
        missile.position = CGPointMake(0.0, 0.0) 
    }
}

【问题讨论】:

  • 我能够在 Swift 中编译 var p = CGPointMake(0, 0) 就好了。有没有可能您只是没有包含 CoreGraphics 框架?
  • 我很确定 CGPointMake 之所以存在,是因为 NeXTSTEP 在 C99 之前问世:(CGPoint){0.0,0.0}
  • @AaronGolden,谢谢。确实,添加import CoreGraphics 解决了这个问题。
  • @sjeohp 的使用 CGPoint(x:0, y:0) 的建议是否解决了问题没有导入 CoreGraphics 还是有其他原因您接受了该答案?
  • 我希望没有真正的导弹?! :-)

标签: ios objective-c swift sprite-kit cgpoint


【解决方案1】:

使用CGPoint(x: Float, y: Float)

【讨论】:

    【解决方案2】:

    你叫它有点不同,没有品牌。

    CGPoint(x: 10, y: 20)
    

    【讨论】:

      【解决方案3】:

      或者,您也可以使用 CGFloat 类型作为 CGPoint

       CGPoint(x: CGFloat, y: CGFloat)
      

      【讨论】:

        【解决方案4】:

        在代码中应该是这样的(Xcode 6.1):

        let point: CGPoint = CGPoint(x:10,y:10)
        

        【讨论】:

        • let point = CGPoint(x: 10, y: 10) 在 Swift 中应该足够了。
        【解决方案5】:

        Xcode 6.3.1 为 CGPoint 展示了 4 个不同的 Swift 初始化器。它们是:

        CGPoint()
        CGPoint(x: CGFloat, y: CGFloat)
        CGPoint(x: Double, y: Double)
        CGPoint(x: Int, y: Int)
        

        【讨论】:

          猜你喜欢
          • 2016-10-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多