Entrance now snaps to side.
This commit is contained in:
+12
-6
@@ -45,7 +45,7 @@ public class Panel extends JPanel implements ActionListener
|
||||
|
||||
BufferedImage grass, sand;
|
||||
BufferedImage background;
|
||||
BufferedImage podiumImage, toiletImage, entranceImage, pathImage, wallImage, foodImage;
|
||||
BufferedImage podiumImage, toiletImage, entranceImage, wallImage, foodImage;
|
||||
|
||||
private int panelInfox, panelInfoy, scrollfactor;
|
||||
|
||||
@@ -110,7 +110,6 @@ public class Panel extends JPanel implements ActionListener
|
||||
podiumImage = ImageIO.read(new File("images/stageIcon.png"));
|
||||
toiletImage = ImageIO.read(new File("images/wcIcon.png"));
|
||||
entranceImage = ImageIO.read(new File("images/entranceIcon.png"));
|
||||
pathImage = ImageIO.read(new File("images/pathIcon.png"));
|
||||
wallImage = ImageIO.read(new File("images/wallIcon.png"));
|
||||
foodImage = ImageIO.read(new File("images/foodIcon.png"));
|
||||
background = grass;
|
||||
@@ -122,7 +121,6 @@ public class Panel extends JPanel implements ActionListener
|
||||
panelInfo.add(podiumImage);
|
||||
panelInfo.add(toiletImage);
|
||||
panelInfo.add(entranceImage);
|
||||
panelInfo.add(pathImage);
|
||||
panelInfo.add(wallImage);
|
||||
panelInfo.add(foodImage);
|
||||
|
||||
@@ -166,10 +164,8 @@ public class Panel extends JPanel implements ActionListener
|
||||
case 2:
|
||||
return new Entrance(null);
|
||||
case 3:
|
||||
return new OldPath(null);
|
||||
case 4:
|
||||
return new Wall(null);
|
||||
case 5:
|
||||
case 4:
|
||||
return new Food(null);
|
||||
default:
|
||||
return null;
|
||||
@@ -538,6 +534,16 @@ public class Panel extends JPanel implements ActionListener
|
||||
{
|
||||
this.agenda = agenda;
|
||||
}
|
||||
|
||||
public int getFieldWidth()
|
||||
{
|
||||
return width;
|
||||
}
|
||||
|
||||
public int getFieldHeight()
|
||||
{
|
||||
return height;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e)
|
||||
|
||||
+31
-1
@@ -4,11 +4,12 @@ import java.awt.Color;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.geom.Point2D;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
import Applicatie.Panel;
|
||||
import Objects.DrawObject;
|
||||
import Objects.Stage;
|
||||
import Objects.Entrance;
|
||||
|
||||
public class Mouse extends MouseAdapter
|
||||
{
|
||||
@@ -125,6 +126,35 @@ public class Mouse extends MouseAdapter
|
||||
{
|
||||
if(panel.getDragObject() != null) {
|
||||
if(panel.getDragObject().getRectangleColor() != Color.RED) {
|
||||
if(panel.getDragObject() instanceof Entrance)
|
||||
{
|
||||
Rectangle2D rect = panel.getDragObject().getRectangle();
|
||||
double xl = (panel.getFieldWidth()/2) + rect.getMinX();
|
||||
double xr = panel.getFieldWidth() - xl+rect.getWidth();
|
||||
double yt = (panel.getFieldHeight()/2) + rect.getMinY();
|
||||
double yb = panel.getFieldHeight() - yt+rect.getHeight();
|
||||
if(xl < xr && xl < yt && xl < yb)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth()/2, rect.getMinY()));
|
||||
}
|
||||
else if(xr < xl && xr < yt && xr < yb)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(panel.getFieldWidth()/2 - rect.getWidth(), rect.getMinY()));
|
||||
}
|
||||
else if(yt < xl && yt < xr && yt < yb)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), -panel.getFieldHeight()/2));
|
||||
}
|
||||
else if(yb < xl && yb < yt && yb < xr)
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), panel.getFieldHeight()/2 - rect.getHeight()));
|
||||
}
|
||||
else
|
||||
{
|
||||
panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth()/2, -panel.getFieldHeight()/2));
|
||||
}
|
||||
|
||||
}
|
||||
panel.setDragObject(null);
|
||||
panel.setClickedOption("drag");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user