【发布时间】:2014-11-09 21:31:32
【问题描述】:
我在尝试调整场景大小时遇到了各种麻烦。
我正在加载具有以下场景大小的 JSTileMap:
SKScene * scene = [GameLevelScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
图块的大小是原来的两倍(太大)。
如果我专门设置场景大小:
SKScene * scene = [GameScene sceneWithSize:CGSizeMake(1136, 640)];
scene.scaleMode = SKSceneScaleModeAspectFill;
图块以正确的大小显示。我正在使用 iPhone 5 作为模拟器设备。我希望能够为任何设备调整场景大小,而不仅仅是 iPhone 5。我认为第一种方法可以解决这个问题,但它没有?为什么会这样?
【问题讨论】:
-
你是否在 viewDidLoad 中呈现场景?
-
我将场景呈现在:ViewDidAppear。我没有使用 ViewDidLoad。
-
我已经尝试了所有三种不同的方法:viewDidLoad、viewDidAppear、viewWillAppear。所有人都做同样的事情。
-
当使用 skView.bounds.size 并检查场景大小时,它正好是预期大小的一半:568,320 而不是 1136,640
-
这是以磅为单位的大小,所有在 sk 和 uikit 中的定位都以磅为单位发生,以更好地支持高密度视网膜显示器
标签: ios objective-c sprite-kit