Entrance now snaps to side.

This commit is contained in:
2015-04-08 11:18:25 +02:00
parent 33bb880018
commit 2a8ff8e29a
2 changed files with 43 additions and 7 deletions
+12 -6
View File
@@ -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
View File
@@ -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");
}