更改精灵时自动重写boxcollider2D

时间:2014-10-24 19:04:27

标签: c# unity3d

我有一个带有精灵渲染器和boxcollider2D的预制件,我用它来制作游戏中的子弹。

我为每种类型的子弹使用的精灵都有不同的大小,因此,当我实例化一个子弹,其子弹大小不同于我的预制件中的通用子弹时,boxcollider并不总是与精灵大小相匹配。

我注意到在我的游戏对象中添加一个boxcollider时它会自动适合精灵。有没有办法从脚本中进行自动调用?或者唯一的方法是在运行时添加对撞机?

1 个答案:

答案 0 :(得分:6)

您可以将对撞机自动调整到精灵的大小,如下所示:

renderer.bounds.size

这将为您提供精灵的大小。

然后你可以相应地制作当前对撞机的尺寸:

 Vector3 v = renderer.bounds.size; 

 BoxCollider2D b = collider2D as BoxCollider2D;

 b.size = v;