如何使物理冲动在所有设备上移动相同百分比的屏幕

时间:2015-09-04 00:35:41

标签: swift sprite-kit skphysicsbody

所以我要做的就是让物理冲动似乎对所有设备产生同样的效果。所以基本上如果我能找到一种方法来做以下事情,我将能够实现我的目标。

首先让我们通过消除所有引力来简化事情。

基本上我需要计算在屏幕最左边获取物理对象以在相同的时间内到达屏幕最右侧所需的冲动,无论屏幕尺寸有多大。< / p>

我问的原因是我正在制作一个基于滑动幅度和角度的移动系统。但是我希望它在每个设备上以相同的方式播放。我正在计算幅度 (距离(虚拟点))/(做手势的时间)

然后我将它用作物理冲动。

这是我正在使用的代码:

<MenuFlyout x:Key="HeaderMenuFlyout">
        <MenuFlyout.MenuFlyoutPresenterStyle>
            <Style TargetType="MenuFlyoutPresenter">
                <Setter Property="BorderBrush" Value="CornflowerBlue"/>
                <Setter Property="BorderThickness" Value="5"/>
            </Style>
        </MenuFlyout.MenuFlyoutPresenterStyle>
        <MenuFlyoutItem Text="Cloud"
                        Tag="Cloud" />
        <MenuFlyoutItem Text="This PC" Tag="This PC"/>

    </MenuFlyout>

所以基本上我希望它是这样的,如果强度为1或2,它将在所有设备上产生相同的效果。

1 个答案:

答案 0 :(得分:1)

您可以做的是使力量相对于屏幕尺寸。

strengthAdjustment = (1/375*UIScreen.mainScreen().bounds.width) 

这使用iPhone 6屏幕(4.7“)宽度(375点)使强度= 1。

使用iPhone 5s,屏幕只有320分,只需要0.8533的脉冲强度即可在相同的时间内移动屏幕宽度。

希望这会帮助你。