public void actualiza() {
        grav = 6 - lives / 3;
        if (click) {
            balon.setPosY(balon.getPosY() - bVely);
            bVely -= grav;
            balon.setPosX(balon.getPosX() + bVelx);
            long tiempoTranscurrido = System.currentTimeMillis() - tiempoActual;
            tiempoActual += tiempoTranscurrido;
            balon.getAnimacion().actualiza(tiempoTranscurrido);
        }
        
        // canasta no se sale de jframe ni de la mitad de la pantalla
        if (canasta.getPosX() + canasta.getAncho() > getWidth()){
            canasta.setPosX(getWidth() - canasta.getAncho());
        } 
        else if (canasta.getPosX() < getWidth() / 2) {
            canasta.setPosX(getWidth() / 2);
        }

        
        switch (iDireccionCanasta){
            case 1:{
                canasta.izquierda();
                break;
            }
            case 2:{
                canasta.derecha();
                break;
            }
        }
        
        if (lives <= 0) {
            gameover = true;
            repaint();
            repaint();
        }
    }