Why this happens?? Spawned object problem 2D, Tetris Game.
The gameobjects coming from top to bottom like tetris, if there is 2 same game object and when they ontriggerenter each other, spawns a different object and destroy themselves, if 2 different gameobject ontriggerenter, nothing happens normally and the gameobject that come can stay top of the other. But when same objects spawns a new object the object is like triggered, other gameobjects can pass through the new one.

there is 8 top of 2 as you can see..

i cant add more images but the 8 (left one) is passing through 4, because 4 is spawned object.
Why this happens please help guys! Here is the Movement Code:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class Sayilar : MonoBehaviour { float sonDusus = 0f;
 void Update () {
     if (Input.GetKeyDown (KeyCode.LeftArrow)) {
         transform.position += new Vector3 (-1, 0, 0);
         if (IcerdekiDurumlar ()) {
             UpdateOyunAlani ();
         } else {
             transform.position += new Vector3 (1, 0, 0);
         }
     
     } else if (Input.GetKeyDown (KeyCode.RightArrow)) {
         transform.position += new Vector3 (1, 0, 0);
         if (IcerdekiDurumlar ()) {
             UpdateOyunAlani ();
         } else {
             transform.position += new Vector3 (-1, 0, 0);
         }
     } else if (Input.GetKeyDown (KeyCode.DownArrow) || Time.time - sonDusus >= 1) {
         transform.position += new Vector3 (0, -1, 0);
         if (IcerdekiDurumlar ()) {
             UpdateOyunAlani ();
         } else {
             transform.position += new Vector3 (0, 1, 0);
                 //FindObjectOfType<dogur> ().SpawnObje ();
                 enabled = false;
         }
         sonDusus = Time.time;
     }
 }
 bool IcerdekiDurumlar ()
 {
     foreach (Transform child in transform) {
         Vector2 v = OyunAlani.RoundVector (child.position);
         if(!OyunAlani.Icerde(v))
             return false;
         if (OyunAlani.grid [(int)v.x, (int)v.y] != null && OyunAlani.grid [(int)v.x, (int)v.y].parent != transform)
             return false;
         
     }
     return true;
 }
 void UpdateOyunAlani(){
     for (int y = 0; y < OyunAlani.sutun; ++y){
         for(int x = 0; x < OyunAlani.satir; ++x){
             if(OyunAlani.grid[x,y] != null) {
                 if(OyunAlani.grid[x,y].parent == transform) {
                     OyunAlani.grid[x,y] = null;
                 }
             }
         }
     }
     foreach (Transform child in transform) {
         Vector2 v = OyunAlani.RoundVector (child.position);
         OyunAlani.grid[(int)v.x, (int)v.y] = child;
     }
 
               }
}
And the prefabs has rigidbody2d kinematic and box collider.
Your answer
 
             Follow this Question
Related Questions
Curve terrian sliding 0 Answers
How to keep rigid bodies objects inside a collider? 0 Answers
OnCollisionEnter2D not changing variable 0 Answers
Fast moving 2D objects workarounds and performance tradeoffs? 1 Answer
2D collision box penetration problem 0 Answers