微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用boxcollider2d.bounds.size.x给我错误的大小

如何解决使用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 举报,一经查实,本站将立刻删除。