Fixed
This commit is contained in:
+31
-15
@@ -1,33 +1,49 @@
|
||||
package Listneners;
|
||||
import Applicatie.Panel;
|
||||
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseMotionAdapter;
|
||||
import java.awt.geom.Point2D;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingUtilities;
|
||||
|
||||
public class MouseMotion extends MouseMotionAdapter {
|
||||
private Panel panel;
|
||||
|
||||
public MouseMotion(Panel panel)
|
||||
{
|
||||
this.panel = panel;
|
||||
}
|
||||
|
||||
public void mouseDragged(MouseEvent e) {
|
||||
Point2D clickPoint = getClickPoint(e.getPoint());
|
||||
if(dragObject != null)
|
||||
Point2D clickPoint = panel.getClickPoint(e.getPoint());
|
||||
if(panel.getDragObject() != null)
|
||||
{
|
||||
if(SwingUtilities.isLeftMouseButton(e))
|
||||
dragObject.position = new Point2D.Double(
|
||||
dragObject.position.getX() - (lastClickPosition.getX() - clickPoint.getX()),
|
||||
dragObject.position.getY() - (lastClickPosition.getY() - clickPoint.getY()));
|
||||
if(SwingUtilities.isLeftMouseButton(e)){
|
||||
|
||||
|
||||
panel.getDragObject().setPosition(new Point2D.Double(
|
||||
panel.getDragObject().getPosition().getX() - (panel.getLastClickPosition().getX() - clickPoint.getX()),
|
||||
panel.getDragObject().getPosition().getY() - (panel.getLastClickPosition().getY() - clickPoint.getY())));
|
||||
}
|
||||
else
|
||||
dragObject.rotation += (lastClickPosition.getX() - clickPoint.getX());
|
||||
repaint();
|
||||
{
|
||||
|
||||
double tempval = panel.getDragObject().getRotation() + (panel.getLastClickPosition().getX() - clickPoint.getX());
|
||||
panel.getDragObject().setRotation(tempval);
|
||||
}
|
||||
panel.repaint();
|
||||
}
|
||||
else
|
||||
{
|
||||
cameraPoint = new Point2D.Double(
|
||||
cameraPoint.getX() + (lastMousePosition.getX() - e.getX()),
|
||||
cameraPoint.getY() + (lastMousePosition.getY() - e.getY())
|
||||
);
|
||||
repaint();
|
||||
panel.setCameraPoint(new Point2D.Double(
|
||||
panel.getCameraPoint().getX() + (panel.getLastMousePosition().getX() - e.getX()),
|
||||
panel.getCameraPoint().getY() + (panel.getLastMousePosition().getY() - e.getY())
|
||||
));
|
||||
panel.repaint();
|
||||
}
|
||||
lastMousePosition = e.getPoint();
|
||||
lastClickPosition = clickPoint;
|
||||
panel.setLastMousePosition(e.getPoint());
|
||||
panel.setLastClickPosition(clickPoint);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user