我穿过以下代码,我不知道为什么屏幕中心是用屏幕宽度除以高度来计算的?
class Gameplayscene: SKScene {
var player:Player?
var canMove=false
var moveLeft=false
var center:CGFloat?
override func didMove(to view: SKView) {
center = (self.scene?.size.width)! / (self.scene?.size.height)!
print("the sence was loaded",center!)
}
答案 0 :(得分:3)
如果你想获得主屏幕的中心点,那么请记下下面的代码,
let centerPointOfScreen = self.view.center
如果您的观点是场景那么,
let centerPointOfScreen = self.scene.center
在这里,您将屏幕的中心点设为CGPoint(x:_, y:_)
答案 1 :(得分:1)
(self.scene?.size.width)! / (self.scene?.size.height)!
定义屏幕的宽高比而不是屏幕的中心。
答案 2 :(得分:-2)
计算中心是错误的。这会给你设备的宽高比说4:3,16:9,16:10以及更多。您可以将屏幕中心计算为 -
centerX = self.view.frame.size.width/2
centerY = self.view.frame.size.height/2
println("\(centerX) ,\(centerY)")
您将获得CGFloat中心的坐标。