protected boolean tryMove(int width, int height) {
    	boolean collided = false;
    	
    	for(BB bb : level.collidables) {
    		if(bb.intersects(this.x + this.xa, this.y, width, height)) {
    			if(this.xa > 0) {
    				this.x = bb.getX() - width;
    			} else if(this.xa < 0) {
    				this.x = bb.getX() + bb.getWidth();
    			}
    			this.xa = 0;
    			collided = true;
    		}
    		
    		if(bb.intersects(this.x, this.y + this.ya, width, height)) {
    			if(this.ya > 0) {
    				this.y = bb.getY() - height;
    				onGround = true;
    			} else if(this.ya < 0) {
    				this.y = bb.getY() + bb.getHeight() + 1;
    			}
    			this.ya = 0;
    			collided = true;
    		}
    	}
    	
    	this.x += this.xa;
    	this.y += this.ya;
    	
    	return collided;
    }