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