【发布时间】:2016-09-27 22:29:17
【问题描述】:
我正在制作一个角色在人和鸟之间切换的游戏。当他是人类时,他可以推动桶。当他是一只鸟时,我想增加枪管的质量,以便更难推动。我目前在播放器和枪管上都有 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;
}
}
【问题讨论】:
-
为什么不直接减少玩家的质量/力量呢?这似乎更准确,并且使您不必调整它们可能推动的所有物体的质量。
标签: c# unity5 unity3d-2dtools