我正在製作一款遊戲,其中角色在人與鳥之間切換。當他是人類時,他可以推桶。當他是一隻鳥時,我想增加槍管的重量,這樣就很難推動。我目前在玩家和槍管上都有BoxCollider2D和RigidBody2D。沒有觸發器設置。當玩家觸摸它時,如何改變物體的質量?
這是我在桶上的腳本。
private GrimScript script;
private Rigidbody2D rb;
public float normalMass = 10f;
public float heavyMass = 100f;
// Use this for initialization
void Awake()
{
script = GameObject.FindGameObjectWithTag("Player").GetComponent<GrimScript>();
rb = gameObject.GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
}
void OnCollisionEnter2D(Collision2D other)
{
if (other.gameObject.CompareTag("Player") && script.amIRaven)
{
rb.mass = heavyMass;
}
else
{
rb.mass = normalMass;
}
}
爲什麼不減少玩家的質量/力量?這看起來更準確,並且不必調整可能推送的所有內容的質量。 – Carcigenicate