mardi 8 novembre 2016

How to make sure gameObjects don't go through objects that have detected a collision?

So I have an AABB collison system set up and it can detect if two colliders are touching, how do i make it so an object can't actually move past the collider? Here is the code for detecting the AABB collisions:

    if (gameObjects [i].hasComponent ("BoxCollider") == true) {
        for (var x = 0; x < gameObjects.length; x++) {
            if (gameObjects [x].hasComponent ("BoxCollider") == true && gameObjects [i] != gameObjects [x]) {
                if (gameObjects [i].transform.xPos - (gameObjects [i].getComponent ("BoxCollider").width / 2) < gameObjects [x].transform.xPos + (gameObjects [x].getComponent ("BoxCollider").width / 2) && 
                    gameObjects [i].transform.xPos + (gameObjects [i].getComponent ("BoxCollider").width / 2) > gameObjects [x].transform.xPos - (gameObjects [x].getComponent ("BoxCollider").width / 2) && 
                    gameObjects [i].transform.yPos - (gameObjects [i].getComponent ("BoxCollider").height / 2) < gameObjects [x].transform.yPos + (gameObjects [x].getComponent ("BoxCollider").height / 2) && 
                    gameObjects [i].transform.yPos + (gameObjects [i].getComponent ("BoxCollider").height / 2) > gameObjects [x].transform.yPos - (gameObjects [x].getComponent ("BoxCollider").height / 2)) {

                    //collision

                }
            }
        }
    }




Aucun commentaire:

Enregistrer un commentaire