与"污垢"相撞时减慢玩家的速度在地上

时间:2015-06-16 11:27:04

标签: c# unity3d game-development

好的,所以,目前在我的游戏中我有5个或6个警察立方体和#34;追逐玩家,并扣除健康状况,直到玩家最终死亡。我的玩家还必须拿起收藏品才能到达终点。我的球员是一个滚球,球有一条主要道路可供旅行。这条路有一个周围的污垢环境,我需要一种方法,一旦滚球接触它就可以扣除速度。如果有人能帮助我,我将不胜感激,谢谢。

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class _PlayerController : MonoBehaviour {

public float speed = 75.0f;
public Text countText;
public Text winText;

private Rigidbody rb;
private int count;


void Start ()
{
    rb = GetComponent<Rigidbody>();
    count = 0;
    SetCountText ();
}

void FixedUpdate ()
{
    float moveHorizontal = Input.GetAxis ("Horizontal");
    float moveVertical = Input.GetAxis ("Vertical");

    Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

    rb.AddForce (movement * speed);
}

void OnTriggerEnter(Collider other) 
{
    if (other.gameObject.CompareTag ("Pick Up")) {
        other.gameObject.SetActive (false);
        count = count + 1;
        SetCountText ();
    }
}


void SetCountText ()
{
    countText.text = "Count: " + count.ToString ();
    if (count >= 25) {  
        Application.LoadLevel (2); 

        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以将Physic Material应用于污垢并为其指定动态摩擦力值。你给它的价值取决于你想要让玩家减速的速度,尝试0.5作为起点。

要创建物理材质,请选择资产&gt;创建&gt;菜单栏中的Physic Material。然后将“物理材质”从“项目视图”拖动到场景中的“碰撞”上。 (从链接页面粘贴的副本)。