POO-ITBA / 2024_01

Consultas 1C 2024
0 stars 0 forks source link

TPE Figuras con MRUV #38

Closed tomaspietravallo closed 4 months ago

tomaspietravallo commented 4 months ago

Hola buenos dias

Mientras nos familiarizábamos con el programa y realizábamos pequeños cambios para volver el codigo mas orientado a objetos.. notamos que en el codigo fuente de la cátedra, las figuras presentan movimiento acelerado.

Ver video de la interfaz con figuras mostrando comportamiento acelerado

Esto es así porque la diferencia obtenida por getX y getY se mide relativa al punto en el que se comenzó a mover el mouse, por lo que si uno moviera a velocidad constante el mouse, este generaría una aceleración constante a la figura (MRUV).

        canvas.setOnMouseDragged(event -> {
            if(selectionButton.isSelected()) {
                Point eventPoint = new Point(event.getX(), event.getY());
                double diffX = (eventPoint.getX() - startPoint.getX()) / 100;
                double diffY = (eventPoint.getY() - startPoint.getY()) / 100;
                if(selectedFigure instanceof Rectangle) {
                    Rectangle rectangle = (Rectangle) selectedFigure;
                    rectangle.getTopLeft().x += diffX;

Seria correcto de nuestra parte corregir este comportamiento? O deberíamos mantener este comportamiento sin cambiar la lógica original de movimiento?

Muchas gracias Saludos Tomas

fmeola commented 4 months ago

Hola @tomaspietravallo No es necesario que corrijan ese comportamiento, si lo quieren hacer está perfecto. Es cierto que la implementación por defecto del movimiento de figuras se puede mejorar pero preferimos darles un código más sencillo de comprender.