Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在tilemap碰撞中获取所有碰撞的瓷砖?_C#_Unity3d - Fatal编程技术网

C# 如何在tilemap碰撞中获取所有碰撞的瓷砖?

C# 如何在tilemap碰撞中获取所有碰撞的瓷砖?,c#,unity3d,C#,Unity3d,我有一个Tilemap碰撞器2D(触发器)和胶囊碰撞器2D(触发器和刚体2D)。 我成功地在我的OnTriggerEnter2D方法中获得了碰撞。但我不知道如何取回与太空舱对撞机相撞的所有瓷砖 在第一张图片中,你可以看到胶囊对撞机,在第二张图片中,你可以看到tilemapcollider。我想给所有与胶囊碰撞器碰撞的瓷砖上色 我已经尝试过的 我尝试使用GetContacts函数获取所有联系人。但我数到了0 private void OnTriggerEnter2D(Collider2D co

我有一个Tilemap碰撞器2D(触发器)和胶囊碰撞器2D(触发器和刚体2D)。 我成功地在我的
OnTriggerEnter2D
方法中获得了碰撞。但我不知道如何取回与太空舱对撞机相撞的所有瓷砖

在第一张图片中,你可以看到胶囊对撞机,在第二张图片中,你可以看到tilemapcollider。我想给所有与胶囊碰撞器碰撞的瓷砖上色

我已经尝试过的 我尝试使用
GetContacts
函数获取所有联系人。但我数到了0

private void OnTriggerEnter2D(Collider2D collision) {
    GameObject go = collision.gameObject;
    if (LayerMask.LayerToName(go.layer) == "ground") // is collision with TileMap
    {
        ContactPoint2D[] contacts = new ContactPoint2D[100];
        int contactCount = collision.GetContacts(contacts);
        Debug.Log(contactCounts); // 0

        for (int i = 0; i < contactCount; i++)
        {
            Vector3Int tile = walkableTilemap.WorldToCell(contacts[i].point);
            walkableTilemap.SetColor(tile, newColor);
        }
    }
}
private void OnTriggerEnter2D(已碰撞R2D碰撞){
GameObject go=collision.GameObject;
if(LayerMask.LayerToName(go.layer)=“ground”)//与TileMap冲突
{
ContactPoint2D[]contacts=新的ContactPoint2D[100];
int contactCount=collision.GetContacts(contacts);
Debug.Log(contactCounts);//0
对于(int i=0;i
您碰撞的每个磁贴都应该有一个OnTiggerEnter2D事件,不是吗?@FredrikSchön不幸的是没有,我只收到一个来自磁贴的OnTiggerEnter2D事件。您碰撞的每个磁贴都应该有一个OnTiggerEnter2D事件,不是吗?@FredrikSchön不幸的是没有,我只收到一个来自tilemap的OnTiggerInter2D事件