为了账号安全,请及时绑定邮箱和手机立即绑定

在SpriteKit中处理不同的iOS设备分辨率

在SpriteKit中处理不同的iOS设备分辨率

iOS
largeQ 2019-09-20 14:53:09
我正在使用Xcode 6,iOS 8 beta 5中的SpriteKit。所有内容都在iPhone 4S模拟器上完成并完美运行,但是当切换到5S时,屏幕底部的元素被切断。根据我的理解,iPhone屏幕的左下角应该是CGPoint(0,0),但是在通过将坐标打印到控制台来检查位置后,我可以点击左边角落的最低点(5, 44)。在我的场景设置中有什么问题导致了这个吗?没有对GameViewController文件进行任何更改,甚至在我剥离GameScene文件后问题仍然存在。任何人都可以至少指出我正确的方向吗?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

如果要保留场景的大小(通常在使用固定大小和坐标系统时需要),可能需要在场景的任一侧添加填充。这将删除信件拳击并保留您的应用程序在任何平台上的所有物理和动态。


我创建了一个小框架来帮助解决这个问题:


https://github.com/Tokuriku/tokuriku-framework-stash


只是:


下载存储库的ZIP文件

打开“SceneSizer”子文件夹

在项目中拖动SceneSizer.framework“lego block”

确保嵌入式框架而不仅仅是链接

在代码中的某处导入框架 import SceneSizer

你已经完成了,你现在可以用以下方法调用sizer类: SceneSizer.calculateSceneSize(#initialSize: CGSize, desiredWidth: CGFloat, desiredHeight: CGFloat) -> CGSize


查看完整回答
反对 回复 2019-09-20
?
千巷猫影

TA贡献1829条经验 获得超7个赞

为了以防万一,尝试做CMD + 1,为我工作。一些元素被切断了,因为它们根本没有在模拟器中显示 - 我强调这一点,这只是一个模拟器功能(如果你问我这个错误,浪费了几个小时的时间来解决这个问题)。CMD + 2,CMD + 3视图有时可以隐藏场景的一部分。


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 590 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信