我有一个要从iOS移植到MacOS的游戏。在iOS上,所有功能均应在视网膜和非视网膜设备上正常运行。在Mac上,则是另一回事。
我有两个类属性:upperCameraPos和lowerCameraPos
游戏在一个窗口中,场景的高度是此窗口的内容视图(SKView)高度的两倍。游戏开始时。摄像机节点位于lowerCameraPos,显示场景的下半部分。按下按钮后,SKAction的moveToPoint:方法用于向上滚动场景,显示上半部分。在视网膜和4K Mac上,这可以按预期工作。
但是,在非视网膜Macs(在'07 iMac晚期和'08 MacBook晚期测试)的情况下,用于设置相机初始位置的相同代码不会显示场景的下半部分,而是显示场景的中间部分。场景(这是相机的默认位置)。
我已经进行了大量搜索,但没有找到任何解释。在Mac上将相机节点放置在场景中时,有人知道视网膜与非视网膜之间是否存在任何问题吗?
答案 0 :(得分:0)
我弄清楚我做错了什么。我将场景的缩放模式设置为SKSceneScaleModeAspectFill。将缩放模式更改为SKSceneScaleModeResizeFill之后,无论屏幕是视网膜还是非视网膜,摄影机节点现在都可以缩放到场景的正确部分。