Swift - SpriteKit CGPoint 对齐

标签 swift sprite-kit

我正在快速开发一个项目,我能够制作一个 Sprite 。我正在尝试在许多不同的位置制作一个 Sprite 。作为测试,我将游戏场景中的代码替换为:

class GameScene: SKScene {
    override func didMoveToView(view: SKView){
        let wall = SKSpriteNode(imageNamed: "Wall")
        wall.position = CGPoint(x: 289, y: 0)
    }    
}

我不明白的是这段代码在左下角创建了一个 Sprite 。正如预期的,在 y 方向上只有一半的 Sprite 显示,但 x 方向似乎完全偏离。如果我尝试将 x 值设置为低于 289 的任何数字,它将不会出现。 0,0 点真的是 289,0 还是我遗漏了什么?我正在为 iPhone 6 编程,如果这有什么不同的话。

谢谢!

最佳答案

您的场景不一定与您的 View 大小相同。您可以按如下方式检查场景的大小:

view.scene!.frame.size
view.scene!.frame.width
view.scene!.frame.height
view.scene!.frame.midX
view.scene!.frame.midY

关于Swift - SpriteKit CGPoint 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30114374/

相关文章:

xcode - 分段选项卡 IBAction 不会传递给 cellForRowAtIndexPath

ios - 如何像 actionSheet 一样呈现 UIViewController?

swift - 是否可以将 SKSpriteNode 添加到另一个类的场景中?

ios - OpenGL ES 在 iOS 12 和 SKShader 中被弃用

swift - 场景大小内的节点位置

xcode - 如何在 Xcode Debugger 中调用嵌套的 Swift 函数?

ios - 带有自定义单元格的 UITableView 在滚动时滞后

ios - 在 swift 4 中修改 [UInt8] 字节数组的最佳方法是什么?

ios - SpriteKit SKAction 在删除和读取节点后不起作用

ios - 游戏持续时间越长,我怎样才能让我的炸弹落得更快或产生得更快?