Mac 上的 SKCameraNode 定位:非视网膜与视网膜
SKCameraNode positioning on Mac: non-retina vs retina
我有一款游戏要从 iOS 移植到 MacOS。在 iOS 上,一切都可以在 Retina 和非 Retina 设备上正常运行。在 Mac,这是一个不同的故事。
我有两个 class 属性:upperCameraPos 和 lowerCameraPos
游戏在 window 中,场景是此 window 内容视图 (SKView) 高度的两倍。比赛开始时。相机节点位于 lowerCameraPos,显示场景的下半部分。按下按钮时,SKAction 的 moveToPoint: 方法用于向上滚动场景,显示上半部分。在 Retina 和 4K Macs 上,这按预期工作。
然而,在非视网膜 Mac 上(在 07 年末 iMac 和 08 年末 MacBook 上测试),设置相机初始位置的代码相同不显示场景的下半部分,而是显示场景的中间(这是相机的默认位置)。
我已经进行了大量搜索,但没有找到任何解释。有谁知道在 Mac 上的场景中定位相机节点时视网膜和非视网膜之间是否存在任何问题?
我发现我做错了什么。我将场景的缩放模式设置为 SKSceneScaleModeAspectFill。将缩放模式更改为 SKSceneScaleModeResizeFill 后,无论屏幕是视网膜还是非视网膜,相机节点现在都可以缩放到场景的正确部分。
我有一款游戏要从 iOS 移植到 MacOS。在 iOS 上,一切都可以在 Retina 和非 Retina 设备上正常运行。在 Mac,这是一个不同的故事。
我有两个 class 属性:upperCameraPos 和 lowerCameraPos
游戏在 window 中,场景是此 window 内容视图 (SKView) 高度的两倍。比赛开始时。相机节点位于 lowerCameraPos,显示场景的下半部分。按下按钮时,SKAction 的 moveToPoint: 方法用于向上滚动场景,显示上半部分。在 Retina 和 4K Macs 上,这按预期工作。
然而,在非视网膜 Mac 上(在 07 年末 iMac 和 08 年末 MacBook 上测试),设置相机初始位置的代码相同不显示场景的下半部分,而是显示场景的中间(这是相机的默认位置)。
我已经进行了大量搜索,但没有找到任何解释。有谁知道在 Mac 上的场景中定位相机节点时视网膜和非视网膜之间是否存在任何问题?
我发现我做错了什么。我将场景的缩放模式设置为 SKSceneScaleModeAspectFill。将缩放模式更改为 SKSceneScaleModeResizeFill 后,无论屏幕是视网膜还是非视网膜,相机节点现在都可以缩放到场景的正确部分。