Waypointpopup

This commit is contained in:
Yorick
2015-04-08 12:59:49 +02:00
parent 2dcdc954ae
commit e1f88aba2d
5 changed files with 95 additions and 27 deletions
+1 -1
View File
@@ -114,7 +114,7 @@ public class Panel extends JPanel implements ActionListener
entranceImage = ImageIO.read(new File("images/entranceIcon.png")); entranceImage = ImageIO.read(new File("images/entranceIcon.png"));
wallImage = ImageIO.read(new File("images/wallIcon.png")); wallImage = ImageIO.read(new File("images/wallIcon.png"));
foodImage = ImageIO.read(new File("images/foodIcon.png")); foodImage = ImageIO.read(new File("images/foodIcon.png"));
waypointImage = ImageIO.read(new File("images/waypoint.png")); waypointImage = ImageIO.read(new File("images/waypointIcon.png"));
background = grass; background = grass;
} }
catch (IOException e) catch (IOException e)
+9 -8
View File
@@ -220,14 +220,15 @@ public class Visitor
System.out.println(rotation); System.out.println(rotation);
System.out.println(newRot); System.out.println(newRot);
System.out.println("--------------"); System.out.println("--------------");
if (rotation > newRot && distance > 10) // if (rotation > newRot && distance > 10)
{ // {
rotation -= 0.15; // rotation -= 0.15;
} // }
else if (rotation < newRot && distance > 10) // else if (rotation < newRot && distance > 10)
{ // {
rotation += 0.15; // rotation += 0.15;
} // }
rotation = newRot;
Point2D oldPosition = position; Point2D oldPosition = position;
+1 -1
View File
@@ -11,7 +11,6 @@ public class Waypoint extends DrawObject
public Waypoint(Point2D position) public Waypoint(Point2D position)
{ {
super("waypoint", position); super("waypoint", position);
self = 1;
} }
@Override @Override
@@ -37,6 +36,7 @@ public class Waypoint extends DrawObject
public void setSelf(int self) public void setSelf(int self)
{ {
System.out.println(self);
this.self = self; this.self = self;
} }
+57
View File
@@ -0,0 +1,57 @@
package Applicatie;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import Objects.DrawObject;
public class WaypointPopup extends JFrame {
private static final long serialVersionUID = 1;
public WaypointPopup(DrawObject w)
{
super("Artist editscreen!");
Waypoint wp = (Waypoint) w;
setDefaultCloseOperation(HIDE_ON_CLOSE);
JPanel content = new JPanel(new BorderLayout());
JPanel south = new JPanel(new FlowLayout());
JPanel center = new JPanel(new GridLayout(5,2));
content.add(south, BorderLayout.SOUTH);
content.add(center, BorderLayout.CENTER);
JPanel panel1 = new JPanel();
JLabel name = new JLabel("Waypoint");
panel1.add(name);
center.add(panel1);
JTextField tf = new JTextField(5);
center.add(tf);
JButton edit = new JButton("Done");
edit.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
wp.setSelf(Integer.valueOf(tf.getText()));
dispose();
}
});
south.add(edit);
setContentPane(content);
setVisible(true);
setSize(500,320);
}
}
+26 -16
View File
@@ -7,8 +7,11 @@ import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.swing.SwingUtilities;
import Applicatie.Panel; import Applicatie.Panel;
import Applicatie.Waypoint; import Applicatie.Waypoint;
import Applicatie.WaypointPopup;
import Objects.DrawObject; import Objects.DrawObject;
import Objects.Path; import Objects.Path;
import Objects.Entrance; import Objects.Entrance;
@@ -30,6 +33,7 @@ public class Mouse extends MouseAdapter
Point2D clickPoint = panel.getClickPoint(e.getPoint()); Point2D clickPoint = panel.getClickPoint(e.getPoint());
panel.setLastClickPosition(clickPoint); panel.setLastClickPosition(clickPoint);
panel.setLastMousePosition(e.getPoint()); panel.setLastMousePosition(e.getPoint());
if (!panel.getClickedOption().equals("Path")) if (!panel.getClickedOption().equals("Path"))
{ {
if (e.getY() < 150) if (e.getY() < 150)
@@ -65,6 +69,10 @@ public class Mouse extends MouseAdapter
{ {
if (o.contains(clickPoint)) if (o.contains(clickPoint))
{ {
if (SwingUtilities.isRightMouseButton(e))
{
new WaypointPopup(o);
}
if (o == selectedObject) if (o == selectedObject)
{ {
boolean upperLeft = o.containsCorner(clickPoint, 0); boolean upperLeft = o.containsCorner(clickPoint, 0);
@@ -127,34 +135,36 @@ public class Mouse extends MouseAdapter
public void mouseReleased(MouseEvent e) public void mouseReleased(MouseEvent e)
{ {
if(panel.getDragObject() != null) { if (panel.getDragObject() != null)
if(panel.getDragObject().getRectangleColor() != Color.RED) { {
if(panel.getDragObject() instanceof Entrance) if (panel.getDragObject().getRectangleColor() != Color.RED)
{
if (panel.getDragObject() instanceof Entrance)
{ {
Rectangle2D rect = panel.getDragObject().getRectangle(); Rectangle2D rect = panel.getDragObject().getRectangle();
double xl = (panel.getFieldWidth()/2) + rect.getMinX(); double xl = (panel.getFieldWidth() / 2) + rect.getMinX();
double xr = panel.getFieldWidth() - xl+rect.getWidth(); double xr = panel.getFieldWidth() - xl + rect.getWidth();
double yt = (panel.getFieldHeight()/2) + rect.getMinY(); double yt = (panel.getFieldHeight() / 2) + rect.getMinY();
double yb = panel.getFieldHeight() - yt+rect.getHeight(); double yb = panel.getFieldHeight() - yt + rect.getHeight();
if(xl < xr && xl < yt && xl < yb) if (xl < xr && xl < yt && xl < yb)
{ {
panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth()/2, rect.getMinY())); panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth() / 2, rect.getMinY()));
} }
else if(xr < xl && xr < yt && xr < yb) else if (xr < xl && xr < yt && xr < yb)
{ {
panel.getDragObject().setPosition(new Point2D.Double(panel.getFieldWidth()/2 - rect.getWidth(), rect.getMinY())); panel.getDragObject().setPosition(new Point2D.Double(panel.getFieldWidth() / 2 - rect.getWidth(), rect.getMinY()));
} }
else if(yt < xl && yt < xr && yt < yb) else if (yt < xl && yt < xr && yt < yb)
{ {
panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), -panel.getFieldHeight()/2)); panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), -panel.getFieldHeight() / 2));
} }
else if(yb < xl && yb < yt && yb < xr) else if (yb < xl && yb < yt && yb < xr)
{ {
panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), panel.getFieldHeight()/2 - rect.getHeight())); panel.getDragObject().setPosition(new Point2D.Double(rect.getMinX(), panel.getFieldHeight() / 2 - rect.getHeight()));
} }
else else
{ {
panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth()/2, -panel.getFieldHeight()/2)); panel.getDragObject().setPosition(new Point2D.Double(-panel.getFieldWidth() / 2, -panel.getFieldHeight() / 2));
} }
} }