使用Time.timeScale暂停会导致我的播放器“冲刺”。什么时候不用,我怎么阻止这个?

时间:2017-02-09 02:10:18

标签: unity3d unity5

我用Input.GetAxis()和AddForce()移动播放器。

当我使用Time.timeScale = 1f取消暂停游戏时,即使没有按下移动键,玩家也会以更高的速度向前冲(超过我的速度限制)。

如何阻止这种情况发生?

2 个答案:

答案 0 :(得分:1)

如果限制速度超过最大限制,您可以使用“标准化”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.ex.ex.fragments.student.StudentInformation">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:fitsSystemWindows="false">

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|enterAlways"
            app:tabSelectedTextColor="@android:color/white"
            app:tabMode="scrollable"/>


    </android.support.design.widget.AppBarLayout>


        <android.support.v4.view.ViewPager
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/viewpager" />
</LinearLayout>

你也可以使用Vector3.ClampMagnitude。 看到这个https://docs.unity3d.com/ScriptReference/Vector3.ClampMagnitude.html 更具体地说,你可以分享剧本的一部分。

答案 1 :(得分:0)

在比赛暂停期间,声音仍在施加并持续添加。

您可以在设置Time.timeScale = 0之前记录施加到玩家的力量,当您设置Time.timeScale = 1f时,您可以在暂停之前将力设置为记录的力。