如何解决使用boxcollider2d.bounds.size.x给我错误的大小
好吧,我正在尝试使用Boxcollider2d.bounds.size.x将两个平台“实例化”在一起,方法是使用以下方法生成平台
spawnPosX = lastSpawnedplatform.transform.position.x + UnityEngine.Random.Range(0.5f,2) + width;
width = Boxcollider2d.bounds.size.x
,但尺寸很小,平台重叠。如果有人有解决方案,我将非常高兴听到它,如果是这样,请@我
我尝试将宽度声明移动到没有成功
完整代码:https://pastebin.com/7Rn1dEBh
解决方法
GameObject boundsSizer = Instantiate(choosenPlatform,new Vector2(99,99),transform.rotation);
choosenPlatformWidth = boundsSizer.GetComponent<BoxCollider2D>().bounds.extents.x;
DestroyImmediate(boundsSizer);
//jävla skit lösning här men men
float spawnPosX;
if (canDoubleJump == true)
{
spawnPosX = lastSpawnedPlatform.transform.position.x + /*UnityEngine.Random.Range(0.5f,2) +*/ lastSpawnedPlatformWidth + choosenPlatformWidth;
}
else
{
spawnPosX = lastSpawnedPlatform.transform.position.x + /*UnityEngine.Random.Range(0.5f,1.25f) + */lastSpawnedPlatformWidth + choosenPlatformWidth;
}
return spawnPosX;
通过在两个对象上获取bounds.extent来解决问题,但要实现这一点,我必须实例化使用jects的对象使用bounds.extent,然后使用destroy imidiate 糟糕的苦恼,但可以奏效
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。