Dragging now works properly
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
package Applicatie;
|
||||
|
||||
import java.awt.BasicStroke;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Point;
|
||||
import java.awt.TexturePaint;
|
||||
import java.awt.geom.AffineTransform;
|
||||
import java.awt.geom.GeneralPath;
|
||||
import java.awt.geom.NoninvertibleTransformException;
|
||||
import java.awt.geom.Point2D;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
@@ -129,6 +131,8 @@ public class Panel extends JPanel {
|
||||
// g2.fill(new Ellipse2D.Double(0,0,300,300));
|
||||
|
||||
// g2.drawImage(podiumImage, 0, 0, null);
|
||||
|
||||
g2.drawLine(0, 150, getWidth(), 150);
|
||||
for (BufferedImage image : panelInfo) {
|
||||
g2.drawImage(image, panelInfox + scrollfactor, panelInfoy, null);
|
||||
panelInfox += image.getWidth();
|
||||
@@ -139,11 +143,13 @@ public class Panel extends JPanel {
|
||||
AffineTransform oldTransform = g2.getTransform();
|
||||
g2.setTransform(getCamera());
|
||||
|
||||
TexturePaint p = new TexturePaint(background, new Rectangle2D.Double(0,
|
||||
0, 100, 100));
|
||||
TexturePaint p = new TexturePaint(background, new Rectangle2D.Double(0,0, 100, 100));
|
||||
g2.setPaint(p);
|
||||
g2.fill(new Rectangle2D.Double(-1920, -1080, 3840, 2160));
|
||||
|
||||
BasicStroke stroke = new BasicStroke(10);
|
||||
g2.setStroke(stroke);
|
||||
|
||||
for (DrawObject o : objects) {
|
||||
o.draw(g2);
|
||||
}
|
||||
@@ -154,8 +160,7 @@ public class Panel extends JPanel {
|
||||
|
||||
public AffineTransform getCamera() {
|
||||
AffineTransform tx = new AffineTransform();
|
||||
tx.translate(-cameraPoint.getX() + getWidth() / 2, -cameraPoint.getY()
|
||||
+ getHeight() / 2);
|
||||
tx.translate(-cameraPoint.getX() + getWidth() / 2, -cameraPoint.getY() + getHeight() / 2);
|
||||
tx.scale(cameraScale, cameraScale);
|
||||
return tx;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,6 @@ public class Mouse extends MouseAdapter {
|
||||
}
|
||||
}
|
||||
if (panel.getDragObject() == null && selectedObject != null) {
|
||||
System.out.println("deselected");
|
||||
selectedObject.setSelected(false);
|
||||
selectedObject = null;
|
||||
}
|
||||
|
||||
@@ -22,8 +22,12 @@ public class MouseMotion extends MouseMotionAdapter {
|
||||
case "drag":
|
||||
if(panel.getDragObject() != null)
|
||||
panel.getDragObject().setPosition(new Point2D.Double(
|
||||
(panel.getDragObject().getPosition().getX() ) - ((panel.getLastClickPosition().getX() - clickPoint.getX()) ),
|
||||
(panel.getDragObject().getPosition().getY()) - (panel.getLastClickPosition().getY() - clickPoint.getY()) ));
|
||||
(panel.getDragObject().getPosition().getX() ) - ((panel.getLastClickPosition().getX() - clickPoint.getX()) ) / panel.getDragObject().getScale(),
|
||||
(panel.getDragObject().getPosition().getY()) - (panel.getLastClickPosition().getY() - clickPoint.getY()) / panel.getDragObject().getScale() ));
|
||||
System.out.println(panel.getDragObject().getPosition().getX());
|
||||
System.out.println(panel.getLastClickPosition().getX());
|
||||
System.out.println(clickPoint.getX());
|
||||
System.out.println("----------'");
|
||||
break;
|
||||
case "upperLeft":
|
||||
if(clickPoint.getX() < panel.getDragObject().getPosition().getX() && clickPoint.getY() < panel.getDragObject().getPosition().getY()) {
|
||||
|
||||
Reference in New Issue
Block a user