[英]SpriteKit iPhone/iPad different resolution, need same physics
[英]Same physics in SpriteKit regardless of size of object in iPad and iPhone
我有一個在球場上彈跳的球,就像乒乓球一樣。
球的半徑取決於屏幕的大小。
我發現在iPhone和iPad上球的速度並不相同。
因為iPad上的球更大,所以它有更大的ball.physicsBody.mass
。
問題如何正確解決這個問題?
我找到了兩種方法:
首先是: SpriteKit iPhone / iPad的分辨率不同,需要同樣的物理改變SKPhysicsWorld
。 第二是: SpriteKit球速大小不同以固定球的mass
。
我認為固定球的mass
是正確的方法。
我對么 ?
我使用過這種方法的應用程序可以在以下位置看到:
https://itunes.apple.com/us/app/pongfinity/id930801337
我做了以下事情:
我已修復:摩擦,恢復原狀,線性阻尼和質量,球物理上的所有屬性。
我用自己寫的函數:
NSUInteger normalizeForHeight(NSUInteger number)
{
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenHeight = screenRect.size.height;
CGFloat factor = 1.0;
factor = screenHeight / 480;
return (number * factor);
}
所以每次當我改變球的速度時,我都使用這個normalizeForHeight(20)
,20只是一些常數II選中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.