gpt4 book ai didi

c# - 统一: Collider not resizing with Sprite Shape by Script

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:32 24 4
gpt4 key购买 nike

我使用 SpriteShape 预制件构建了一个随机生成的迷你游戏。 Random Generator 移动并改变 SpriteShape 的 Spline。但是 Edge Collider 2D 仅在我单击 Hirarchy 上的 Instantiated Prefab 时才会重新调整其大小。

我该怎么做才能刷新对撞机


这是世界刚生成时的场景。所有碰撞器都在左侧。 enter image description here


这是我点击前 2 个生成图层后的场景。 2 个 Colliders 将其大小刷新为 SpriteShape enter image description here


这是我们的代码:

        GameObject currentLayer;
Spline spline;
int lastXPos = Random.Range(1, maxXPos-2);

currentLayer = Instantiate(layer);
currentLayer.transform.parent = gameObject.transform;
currentLayer.transform.localPosition = new Vector3(0,-(2+i*2));

spline = currentLayer.GetComponent<SpriteShapeController>().spline;
spline.SetPosition(0, new Vector3(0, 0));
spline.SetPosition(1, new Vector3(lastXPos, 0));

最佳答案

目前,自动更新对撞机存在一些错误。最好的方法是在脚本中手动烘焙 Colliders。只需调用 BakeCollider() 方法。在 SpriteShapeController 下应该做的工作。

关于c# - 统一: Collider not resizing with Sprite Shape by Script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55579665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com