我的球在屏幕上弹跳,就像乒乓球一样。
球的半径取决于屏幕的大小。
我发现在iPhone和iPad上,球的速度不一样。
因为在iPad上球更大,所以它有更大的ball.physicsBody.mass。
问题如何正确地解决这个问题?
我找到了两种方法:
首先是:将SpriteKit iPhone/iPad different resolution, need same physics更改为SKPhysicsWorld。二是:SpriteKit ball speed differ on size修复球的mass。
我认为修复球的mass是正确的方法。
我说得对吗?
发布于 2015-02-28 08:35:45
在我使用过这种方法的应用程序中可以看到:
https://itunes.apple.com/us/app/pongfinity/id930801337
我做了以下工作:
我有固定的:摩擦,恢复,linearDamping,和质量,所有的属性在球physicsBody上。
我使用了我自己编写的函数:
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是我选择的常量。
https://stackoverflow.com/questions/24882405
复制相似问题