大佬教程收集整理的这篇文章主要介绍了swift – SpriteKit:在各种设备上保持一致的大小和速度,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在构建一个可用于许多不同屏幕尺寸的SpriteKit游戏,当我在其他设备上启动我的游戏时,我的场景调整大小与其视图大小相同(scene.scaleMode = .ResizeFill)我开发了它,我注意到:
>节点的大小太小
>物体的速度太低(我给物体加速的方式是在物理体上调用applyImpulse(:_)).
我想用一个简单的比例操作来修正大小问题:我查看了具有正确对象大小的场景的objectArea / sceneArea比率,而不是给我的对象提供固定尺寸,我只是给它们尺寸以便无论场景区域如何,比率始终相同.
对于物体速度,它更棘手……
我首先想到的是,由于物体本身较大,因此物理体质较高,但由于我直接通过质量属性将物质归结为物体,物体的质量完全相同,无论其大小如何.
我终于弄清楚这只是因为屏幕尺寸不同,因此,即使以相同的速度移动,对象也会在更大的屏幕上移动得更慢.
我的问题是,我不知道如何调整我的冲动强度,以便它在不同的场景大小上保持一致,我目前的方法就是这样:
force = sqrt(area) * k
其中k也是比例系数,我不能在该区域上做比例,否则,速度会呈指数增长(所以我用区域的平方根代替).
虽然这种方法有效,但我只是用这种直觉来计算它.虽然我知道对象区域与场景大小正确成比例,但我无法确定在所有屏幕尺寸上是否可以将速度视为等效
你知道我应该做些什么来确保所有设备上的速度始终相同吗?
以上是大佬教程为你收集整理的swift – SpriteKit:在各种设备上保持一致的大小和速度全部内容,希望文章能够帮你解决swift – SpriteKit:在各种设备上保持一致的大小和速度所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。