Swift 中的 CGPointMake

Posted

技术标签:

【中文标题】Swift 中的 CGPointMake【英文标题】:CGPointMake in Swift 【发布时间】: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 还是有其他原因您接受了该答案? 我希望没有真正的导弹?! :-) 【参考方案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)

【讨论】:

以上是关于Swift 中的 CGPointMake的主要内容,如果未能解决你的问题,请参考以下文章

Swift中按钮的坐标

Swift 动画不工作

Swift 使 sksprite 节点随时间移动得更快

iOS:“recognizer.view.center = CGPointMake(...”的错误效果

CGPointMake 在 vi​​ewDidLoad 中不起作用

如何滚动到 UIScrollview 中的 UIButton 位置