hoi
This commit is contained in:
xrgman
2015-04-08 14:03:58 +02:00
parent 98af73b15e
commit 7c28dd3a16
29 changed files with 824 additions and 174 deletions
+32 -4
View File
@@ -27,23 +27,51 @@ public class Keyboard implements KeyListener {
}
else if(e.getKeyCode() == e.VK_LEFT) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()-5,panel.getSelectedObject().getPosition().getY()));
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()-5,panel.getSelectedObject().getPosition().getY()), true);
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_RIGHT) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()+5,panel.getSelectedObject().getPosition().getY()));
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX()+5,panel.getSelectedObject().getPosition().getY()), true);
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_UP) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()-5));
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()-5), true);
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_DOWN) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()+5));
panel.getSelectedObject().setPosition(new Point2D.Double(panel.getSelectedObject().getPosition().getX(),panel.getSelectedObject().getPosition().getY()+5), true);
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_ADD) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setScale(panel.getSelectedObject().getScale()+0.2);
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_SUBTRACT) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setScale(Math.max(panel.getSelectedObject().getScale()-0.2, 0.2));
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_COMMA) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setRotation((panel.getSelectedObject().getRotation()-5)%360);
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_PERIOD) {
if(panel.getSelectedObject() != null)
panel.getSelectedObject().setRotation((panel.getSelectedObject().getRotation()+5)%360);
panel.checkCollision();
panel.getPP().update();
}
else if(e.getKeyCode() == e.VK_ENTER) {
if(panel.getClickedOption().equals("Path")) {
+40 -17
View File
@@ -4,11 +4,17 @@ 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 javax.swing.SwingUtilities;
import Applicatie.Panel;
import Applicatie.Waypoint;
import Applicatie.WaypointPopup;
import Objects.DrawObject;
import Objects.Stage;
import Objects.Path;
import Objects.Entrance;
public class Mouse extends MouseAdapter
{
@@ -27,7 +33,9 @@ public class Mouse extends MouseAdapter
Point2D clickPoint = panel.getClickPoint(e.getPoint());
panel.setLastClickPosition(clickPoint);
panel.setLastMousePosition(e.getPoint());
if(!panel.getClickedOption().equals("Path")) {
if (!panel.getClickedOption().equals("Path"))
{
if (e.getY() < 150)
{
int i = 0;
@@ -37,14 +45,17 @@ public class Mouse extends MouseAdapter
if (e.getX() >= panel.getScrollfactor() && e.getX() < last + image.getWidth() + panel.getScrollfactor())
{
DrawObject tempDrawObj = panel.createNewDrawObject(i);
tempDrawObj.setPosition(clickPoint);
if(!panel.getObjects().isEmpty())
panel.clearObjectSelection();
panel.setDragObject(tempDrawObj);
panel.getDragObject().setSelected(true);
panel.getPP().setSelected(tempDrawObj);
panel.setSelectedObject(tempDrawObj);
selectedObject = tempDrawObj;
if (tempDrawObj != null)
{
tempDrawObj.setPosition(clickPoint);
if (!panel.getObjects().isEmpty())
panel.clearObjectSelection();
panel.setDragObject(tempDrawObj);
panel.getDragObject().setSelected(true);
panel.getPP().setSelected(tempDrawObj);
panel.setSelectedObject(tempDrawObj);
selectedObject = tempDrawObj;
}
break;
}
i++;
@@ -61,6 +72,13 @@ public class Mouse extends MouseAdapter
{
if (o.contains(clickPoint))
{
if (SwingUtilities.isRightMouseButton(e))
{
if (o instanceof Waypoint)
{
new WaypointPopup(o);
}
}
if (o == selectedObject)
{
boolean upperLeft = o.containsCorner(clickPoint, 0);
@@ -101,7 +119,7 @@ public class Mouse extends MouseAdapter
panel.getPP().setSelected(o);
panel.setSelectedObject(o);
panel.setSelectionPosition(panel.getDragObject().getPosition());
}
}
panel.checkPath(clickPoint);
@@ -114,21 +132,26 @@ public class Mouse extends MouseAdapter
selectedObject = null;
}
}
else { //Making path.
panel.getCurrentPath().addPoint(new Point2D.Double(clickPoint.getX(),clickPoint.getY()));
else
{ // Making path.
panel.getCurrentPath().addPoint(new Point2D.Double(clickPoint.getX(), clickPoint.getY()));
}
panel.repaint();
}
public void mouseReleased(MouseEvent e)
{
if(panel.getDragObject() != null) {
if(panel.getDragObject().getRectangleColor() != Color.RED) {
if (panel.getDragObject() != null)
{
if (panel.getDragObject().getRectangleColor() != Color.RED)
{
panel.getDragObject().setPosition(panel.getDragObject().getPosition(), true);
panel.getPP().update();
panel.setDragObject(null);
panel.setClickedOption("drag");
}
else {
else
{
panel.getDragObject().setPosition(panel.getSelectionPosition());
panel.getDragObject().setRectangleColor(Color.BLACK);
}
+25
View File
@@ -0,0 +1,25 @@
package Listeners;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import Applicatie.Panel;
public class WindowFocusListener implements FocusListener
{
Panel p;
public WindowFocusListener(Panel p)
{
this.p = p;
}
@Override
public void focusGained(FocusEvent e){}
@Override
public void focusLost(FocusEvent e)
{
p.requestFocus();
}
}