更改精灵时自动重写boxcollider2D

kUr*_*4m4 2 c# unity-game-engine

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

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

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

Fun*_*onR 6

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

renderer.bounds.size
Run Code Online (Sandbox Code Playgroud)

这将给你精灵的大小.

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

 Vector3 v = renderer.bounds.size; 

 BoxCollider2D b = collider2D as BoxCollider2D;

 b.size = v;
Run Code Online (Sandbox Code Playgroud)