Sprite kit 为什么我的SpriteKitNode位置没有正确显示?
我是SpriteKit新手,我正在学习一个教程,该教程在纵向模式下将SpritekitNode定位在靠近屏幕底部的中心,但无论我使用何种代码,我的对象都不会采用教程中讨论的位置。我已经看过了其他几个教程,它们在定位SpriteKitNode的代码方面几乎是一样的 这是我在GameSecene.swift中仅有的代码:Sprite kit 为什么我的SpriteKitNode位置没有正确显示?,sprite-kit,position,swift3,Sprite Kit,Position,Swift3,我是SpriteKit新手,我正在学习一个教程,该教程在纵向模式下将SpritekitNode定位在靠近屏幕底部的中心,但无论我使用何种代码,我的对象都不会采用教程中讨论的位置。我已经看过了其他几个教程,它们在定位SpriteKitNode的代码方面几乎是一样的 这是我在GameSecene.swift中仅有的代码: import SpriteKit import GameplayKit class GameScene: SKScene { var player:SKSpriteNo
import SpriteKit
import GameplayKit
class GameScene: SKScene {
var player:SKSpriteNode!
override func didMove(to view: SKView) {
player = SKSpriteNode(imageNamed: "Spaceship")
player.xScale = 0.5
player.yScale = 0.5
player.position = CGPoint(x: self.frame.size.width / 2, y: player.size.height / 2 + 20)
self.addChild(player)
}
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
}
}
我还没有向GameSecene.sks添加任何内容,也没有对info.plist进行任何更改。通过上面的代码,mySpriteKitNode显示在屏幕的右中央,如下图所示。宇宙飞船应该放在红色X附近
我看过一些关于SpriteKit定位问题的帖子,但还没有找到解决方案
如果有人能解释一下我到底做错了什么?谢谢你,因为你正在学习的教程可能已经过时了。早些时候,当从
sks
文件加载场景时,它的anchorPoint
设置为0,0。现在,默认设置为0.5,0.5
因此,您可以使用当前代码,但将场景的锚定点设置为0.0、0.0,或者保留场景的锚定点
,并相应地设置播放器的位置
属性:
//player.position.x should be 0 which is middle of the screen
player.position.y = -frame.size.height / 2.0 + player.size.height/2.0 + 20.0