首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpriteKit中的相同物理无论iPad和iPhone中的物体大小如何

SpriteKit中的相同物理无论iPad和iPhone中的物体大小如何
EN

Stack Overflow用户
提问于 2014-07-22 08:28:41
回答 1查看 603关注 0票数 6

我的球在屏幕上弹跳,就像乒乓球一样。

球的半径取决于屏幕的大小。

我发现在iPhone和iPad上,球的速度不一样。

因为在iPad上球更大,所以它有更大的ball.physicsBody.mass

问题如何正确地解决这个问题?

我找到了两种方法:

首先是:将SpriteKit iPhone/iPad different resolution, need same physics更改为SKPhysicsWorld。二是:SpriteKit ball speed differ on size修复球的mass

我认为修复球的mass是正确的方法。

我说得对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-28 08:35:45

在我使用过这种方法的应用程序中可以看到:

https://itunes.apple.com/us/app/pongfinity/id930801337

我做了以下工作:

我有固定的:摩擦,恢复,linearDamping,和质量,所有的属性在球physicsBody上。

我使用了我自己编写的函数:

代码语言:javascript
复制
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是我选择的常量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24882405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档