centering metadata and Image in EditableCanvas
This commit is contained in:
@ -2,27 +2,27 @@
|
|||||||
<objecttypes>
|
<objecttypes>
|
||||||
<objecttype color="#a0a0a4" name="misato">
|
<objecttype color="#a0a0a4" name="misato">
|
||||||
<property default="Solid" name="class" type="string"/>
|
<property default="Solid" name="class" type="string"/>
|
||||||
<property default="0 1 197 0 187 167 74 190 " name="drawbox" type="string"/>
|
<property default="-9 1 197 0 188 167 75 190 " name="drawbox" type="string"/>
|
||||||
<property default="Circle -18 11 40" name="hitbox" type="string"/>
|
<property default="Circle -13 15 39" name="hitbox" type="string"/>
|
||||||
</objecttype>
|
</objecttype>
|
||||||
<objecttype color="#a0a0a4" name="starlight">
|
<objecttype color="#a0a0a4" name="starlight">
|
||||||
<property default="Solid" name="class" type="string"/>
|
<property default="Solid" name="class" type="string"/>
|
||||||
<property default="4 3 162 9 129 121 53 140 " name="drawbox" type="string"/>
|
<property default="-7 0 196 19 126 117 49 144 " name="drawbox" type="string"/>
|
||||||
<property default="Circle 7 -2 28" name="hitbox" type="string"/>
|
<property default="Circle 16 3 27" name="hitbox" type="string"/>
|
||||||
</objecttype>
|
</objecttype>
|
||||||
<objecttype color="#a0a0a4" name="tavern">
|
<objecttype color="#a0a0a4" name="tavern">
|
||||||
<property default="Solid" name="class" type="string"/>
|
<property default="Solid" name="class" type="string"/>
|
||||||
<property default="130 39 3977 65 4121 2479 117 2459 " name="drawbox" type="string"/>
|
<property default="12 6 4108 6 4108 2479 117 2453 " name="drawbox" type="string"/>
|
||||||
<property default="Rectangle -32 42 2018 1992" name="hitbox" type="string"/>
|
<property default="Rectangle -32 43 2028 1981" name="hitbox" type="string"/>
|
||||||
</objecttype>
|
</objecttype>
|
||||||
<objecttype color="#a0a0a4" name="TopHome">
|
<objecttype color="#a0a0a4" name="TopHome">
|
||||||
<property default="Solid" name="class" type="string"/>
|
<property default="Solid" name="class" type="string"/>
|
||||||
<property default="4 14 1780 0 1785 2162 58 2182 " name="drawbox" type="string"/>
|
<property default="-6 9 1783 4 1783 2152 47 2177 " name="drawbox" type="string"/>
|
||||||
<property default="Rectangle -5 0 858 887" name="hitbox" type="string"/>
|
<property default="Rectangle 0 6 858 876" name="hitbox" type="string"/>
|
||||||
</objecttype>
|
</objecttype>
|
||||||
<objecttype color="000000" name="newtest">
|
<objecttype color="000000" name="newtest">
|
||||||
<property default="solid" name="class" type="string"/>
|
<property default="solid" name="class" type="string"/>
|
||||||
<property default="252 116 505 120 500 247 235 237 " name="drawbox" type="string"/>
|
<property default="411 96 812 84 899 811 439 819 " name="drawbox" type="string"/>
|
||||||
<property default="Circle 578 671 15" name="hitbox" type="string"/>
|
<property default="Circle 0 179 127" name="hitbox" type="string"/>
|
||||||
</objecttype>
|
</objecttype>
|
||||||
</objecttypes>
|
</objecttypes>
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import gui.render.HitboxCircleRenderingFunction;
|
|||||||
import gui.render.HitboxRectengleRenderingFunction;
|
import gui.render.HitboxRectengleRenderingFunction;
|
||||||
import gui.render.ShapeRenderingFunction;
|
import gui.render.ShapeRenderingFunction;
|
||||||
import model.Entity;
|
import model.Entity;
|
||||||
|
import model.Point;
|
||||||
import repository.Project;
|
import repository.Project;
|
||||||
|
|
||||||
public class EditableCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
public class EditableCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
||||||
@ -27,7 +28,7 @@ public class EditableCanvas extends JPanel implements MouseListener, MouseMotion
|
|||||||
Entity entity;
|
Entity entity;
|
||||||
BufferedImage image;
|
BufferedImage image;
|
||||||
private float scaleIndex = 1;
|
private float scaleIndex = 1;
|
||||||
|
Point centeringImage = new Point(0,0);
|
||||||
|
|
||||||
public EditableCanvas() {
|
public EditableCanvas() {
|
||||||
drawboxRectengleRenderFunct = new DrawboxRectengleRenderingFunction();
|
drawboxRectengleRenderFunct = new DrawboxRectengleRenderingFunction();
|
||||||
@ -85,15 +86,33 @@ public class EditableCanvas extends JPanel implements MouseListener, MouseMotion
|
|||||||
super.paintComponent(g);
|
super.paintComponent(g);
|
||||||
if(image!=null) {
|
if(image!=null) {
|
||||||
calculatedScaledIndex();
|
calculatedScaledIndex();
|
||||||
g.drawImage(image, 0, 0, (int) (image.getWidth() * scaleIndex),
|
calculatedCenteringImagePoint();
|
||||||
|
g.drawImage(image, (int)centeringImage.x, (int)centeringImage.y, (int) (image.getWidth() * scaleIndex),
|
||||||
(int) (image.getHeight() * scaleIndex), this);
|
(int) (image.getHeight() * scaleIndex), this);
|
||||||
g.setColor(Color.green);
|
g.setColor(Color.MAGENTA);
|
||||||
|
g.drawRect((int)centeringImage.x, (int)centeringImage.y,(int) (image.getWidth() * scaleIndex)-1,
|
||||||
|
(int) (image.getHeight() * scaleIndex)-1);
|
||||||
|
g.setColor(Color.green);
|
||||||
}
|
}
|
||||||
if(entity != null) {
|
if(entity != null) {
|
||||||
drawing((Graphics2D)g);
|
drawing((Graphics2D)g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//нерабочая херня
|
|
||||||
|
public void calculatedCenteringImagePoint() {
|
||||||
|
centeringImage.x = (this.getWidth() - image.getWidth() * scaleIndex)/2;
|
||||||
|
centeringImage.y = (this.getHeight() - image.getHeight() * scaleIndex)/2;
|
||||||
|
System.out.println("---------------------");
|
||||||
|
System.out.println("this.getWidth()= "+this.getWidth());
|
||||||
|
System.out.println("this.getHeight() = "+this.getHeight());
|
||||||
|
System.out.println("image.x = "+image.getWidth() * scaleIndex);
|
||||||
|
System.out.println("image.y = "+image.getHeight() * scaleIndex);
|
||||||
|
System.out.println("centeringImage.x = "+centeringImage.x);
|
||||||
|
System.out.println("centeringImage.y = "+centeringImage.y);
|
||||||
|
drawboxRectengleRenderFunct.setCenteringImagePoint(centeringImage);
|
||||||
|
hitboxRectengleRenderFunct.setCenteringImagePoint(centeringImage);
|
||||||
|
hitboxCircleRenderFunct.setCenteringImagePoint(centeringImage);
|
||||||
|
}
|
||||||
public void calculatedScaledIndex() {
|
public void calculatedScaledIndex() {
|
||||||
int imageWidth = image.getWidth(), imageHeight = image.getHeight();
|
int imageWidth = image.getWidth(), imageHeight = image.getHeight();
|
||||||
float iconMaxWidth = this.getWidth();
|
float iconMaxWidth = this.getWidth();
|
||||||
@ -101,15 +120,15 @@ public class EditableCanvas extends JPanel implements MouseListener, MouseMotion
|
|||||||
float scaleFactorX = iconMaxWidth / imageWidth, scaleFactorY = iconMaxHeight / imageHeight;
|
float scaleFactorX = iconMaxWidth / imageWidth, scaleFactorY = iconMaxHeight / imageHeight;
|
||||||
scaleIndex = scaleFactorX < scaleFactorY ? scaleFactorX : scaleFactorY;
|
scaleIndex = scaleFactorX < scaleFactorY ? scaleFactorX : scaleFactorY;
|
||||||
entity.setScaleIndex(scaleIndex);
|
entity.setScaleIndex(scaleIndex);
|
||||||
System.out.println("imageWidth: "+imageWidth);
|
// System.out.println("imageWidth: "+imageWidth);
|
||||||
System.out.println("imageHeight: "+imageHeight);
|
// System.out.println("imageHeight: "+imageHeight);
|
||||||
System.out.println("iconMaxWidth: "+iconMaxWidth);
|
// System.out.println("iconMaxWidth: "+iconMaxWidth);
|
||||||
System.out.println("iconMaxHeight: "+iconMaxHeight);
|
// System.out.println("iconMaxHeight: "+iconMaxHeight);
|
||||||
|
//
|
||||||
System.out.println("scaleFactorX: "+scaleFactorX);
|
// System.out.println("scaleFactorX: "+scaleFactorX);
|
||||||
System.out.println("scaleFactorY: "+scaleFactorY);
|
// System.out.println("scaleFactorY: "+scaleFactorY);
|
||||||
System.out.println("scaleIndex: "+scaleIndex);
|
// System.out.println("scaleIndex: "+scaleIndex);
|
||||||
System.out.println("_____________________: ");
|
// System.out.println("_____________________: ");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEntity(Entity e) {
|
public void setEntity(Entity e) {
|
||||||
|
|||||||
@ -23,11 +23,13 @@ public class DrawboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
Entity entity;
|
Entity entity;
|
||||||
Logger logger = Logger.getLogger("gui.DrawboxRectangleEditor");
|
Logger logger = Logger.getLogger("gui.DrawboxRectangleEditor");
|
||||||
private float scaleIndex = 1;
|
private float scaleIndex = 1;
|
||||||
|
Point centeringImage;
|
||||||
public DrawboxRectengleRenderingFunction() {
|
public DrawboxRectengleRenderingFunction() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawing(Graphics2D g) {
|
public void drawing(Graphics2D g) {
|
||||||
scaleIndex = entity.getScaleIndex();
|
scaleIndex = entity.getScaleIndex();
|
||||||
@ -42,13 +44,13 @@ public class DrawboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
|
|
||||||
if(drawboxPoints.size() >= 1 && drawboxPoints.size() < 4) {
|
if(drawboxPoints.size() >= 1 && drawboxPoints.size() < 4) {
|
||||||
Point lastPoint = drawboxPoints.get(drawboxPoints.size()-1);
|
Point lastPoint = drawboxPoints.get(drawboxPoints.size()-1);
|
||||||
g.drawLine((int)(lastPoint.x*scaleIndex), (int)(lastPoint.y*scaleIndex), (int)(currentPoint.x*scaleIndex), (int)(currentPoint.y*scaleIndex));
|
g.drawLine((int)(lastPoint.x*scaleIndex+centeringImage.x), (int)(lastPoint.y*scaleIndex+centeringImage.y), (int)(currentPoint.x*scaleIndex+centeringImage.x), (int)(currentPoint.y*scaleIndex+centeringImage.y));
|
||||||
for(int i = 0; i < drawboxPoints.size()-1;i++) {
|
for(int i = 0; i < drawboxPoints.size()-1;i++) {
|
||||||
int x1 = (int)drawboxPoints.get(i).x;
|
int x1 = (int)drawboxPoints.get(i).x;
|
||||||
int y1 = (int)drawboxPoints.get(i).y;
|
int y1 = (int)drawboxPoints.get(i).y;
|
||||||
int x2 = (int)drawboxPoints.get(i+1).x;
|
int x2 = (int)drawboxPoints.get(i+1).x;
|
||||||
int y2 = (int)drawboxPoints.get(i+1).y;
|
int y2 = (int)drawboxPoints.get(i+1).y;
|
||||||
g.drawLine((int)(x1*scaleIndex), (int)(y1*scaleIndex), (int)(x2*scaleIndex), (int)(y2*scaleIndex));
|
g.drawLine((int)(x1*scaleIndex+centeringImage.x), (int)(y1*scaleIndex+centeringImage.y), (int)(x2*scaleIndex+centeringImage.x), (int)(y2*scaleIndex+centeringImage.y));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for(int i = 0; i < drawboxPoints.size();i++) {
|
for(int i = 0; i < drawboxPoints.size();i++) {
|
||||||
@ -56,7 +58,7 @@ public class DrawboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
int y1 = (int)drawboxPoints.get(i % drawboxPoints.size()).y;
|
int y1 = (int)drawboxPoints.get(i % drawboxPoints.size()).y;
|
||||||
int x2 = (int)drawboxPoints.get((i+1) % drawboxPoints.size()).x;
|
int x2 = (int)drawboxPoints.get((i+1) % drawboxPoints.size()).x;
|
||||||
int y2 = (int)drawboxPoints.get((i+1) % drawboxPoints.size()).y;
|
int y2 = (int)drawboxPoints.get((i+1) % drawboxPoints.size()).y;
|
||||||
g.drawLine((int)(x1*scaleIndex), (int)(y1*scaleIndex), (int)(x2*scaleIndex), (int)(y2*scaleIndex));
|
g.drawLine((int)(x1*scaleIndex+centeringImage.x), (int)(y1*scaleIndex+centeringImage.y), (int)(x2*scaleIndex+centeringImage.x), (int)(y2*scaleIndex+centeringImage.y));
|
||||||
}
|
}
|
||||||
// ОТРИСОВКА ОСНОВАНИЯ
|
// ОТРИСОВКА ОСНОВАНИЯ
|
||||||
g.setColor(Color.BLUE);
|
g.setColor(Color.BLUE);
|
||||||
@ -65,7 +67,7 @@ public class DrawboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
int y1 = (int)basePoints.get(i).y;
|
int y1 = (int)basePoints.get(i).y;
|
||||||
int x2 = (int)basePoints.get(i+1).x;
|
int x2 = (int)basePoints.get(i+1).x;
|
||||||
int y2 = (int)basePoints.get(i+1).y;
|
int y2 = (int)basePoints.get(i+1).y;
|
||||||
g.drawLine((int)(x1*scaleIndex), (int)(y1*scaleIndex), (int)(x2*scaleIndex), (int)(y2*scaleIndex));
|
g.drawLine((int)(x1*scaleIndex+centeringImage.x), (int)(y1*scaleIndex+centeringImage.y), (int)(x2*scaleIndex+centeringImage.x), (int)(y2*scaleIndex+centeringImage.y));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,8 +93,8 @@ public class DrawboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseMoved(MouseEvent e) {
|
public void mouseMoved(MouseEvent e) {
|
||||||
currentPoint.x = e.getX()/scaleIndex;
|
currentPoint.x = (e.getX()-centeringImage.x)/scaleIndex;
|
||||||
currentPoint.y = e.getY()/scaleIndex;
|
currentPoint.y = (e.getY()-centeringImage.y)/scaleIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Точки должны идти в определенном порядке:
|
/*Точки должны идти в определенном порядке:
|
||||||
@ -149,6 +151,11 @@ public class DrawboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
public void setEntityInDrawboxRectengle(Entity e) {
|
public void setEntityInDrawboxRectengle(Entity e) {
|
||||||
entity = e;
|
entity = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setCenteringImagePoint(Point p) {
|
||||||
|
centeringImage = p;
|
||||||
|
}
|
||||||
|
|
||||||
public void functionClearJButton() {
|
public void functionClearJButton() {
|
||||||
if(entity != null) {
|
if(entity != null) {
|
||||||
entity.getDrawbox().getDrawboxlistPoints().clear();
|
entity.getDrawbox().getDrawboxlistPoints().clear();
|
||||||
|
|||||||
@ -17,18 +17,23 @@ public class HitboxCircleRenderingFunction implements ShapeRenderingFunction {
|
|||||||
int currentDiametrX=0;
|
int currentDiametrX=0;
|
||||||
Entity entity;
|
Entity entity;
|
||||||
private float scaleIndex = 1;
|
private float scaleIndex = 1;
|
||||||
|
Point centeringImage;
|
||||||
private List<EntityHitboxChangedListener> listeners = new ArrayList<>();
|
private List<EntityHitboxChangedListener> listeners = new ArrayList<>();
|
||||||
|
|
||||||
public void setEntityInHitboxCircle(Entity e) {
|
public void setEntityInHitboxCircle(Entity e) {
|
||||||
entity = e;
|
entity = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setCenteringImagePoint(Point p) {
|
||||||
|
centeringImage = p;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawing(Graphics2D g) {
|
public void drawing(Graphics2D g) {
|
||||||
scaleIndex = entity.getScaleIndex();
|
scaleIndex = entity.getScaleIndex();
|
||||||
HitboxCircle nowHitbox = (HitboxCircle)entity.getHitbox();
|
HitboxCircle nowHitbox = (HitboxCircle)entity.getHitbox();
|
||||||
if(nowHitbox.getRadius()!=0) {
|
if(nowHitbox.getRadius()!=0) {
|
||||||
g.drawOval((int)(nowHitbox.getCurrentRefPoint().x*scaleIndex), (int)((nowHitbox.getCurrentRefPoint().y-(nowHitbox.getDiametrY()/2))*scaleIndex ), (int)(nowHitbox.getDiametrX()*scaleIndex ), (int)(nowHitbox.getDiametrY()*scaleIndex ));
|
g.drawOval((int)(nowHitbox.getCurrentRefPoint().x*scaleIndex+centeringImage.x), (int)((nowHitbox.getCurrentRefPoint().y-nowHitbox.getDiametrY()/2)*scaleIndex+centeringImage.y ), (int)(nowHitbox.getDiametrX()*scaleIndex ), (int)(nowHitbox.getDiametrY()*scaleIndex ));
|
||||||
// System.out.println("READY: diametrX = "+nowHitbox.getDiametrX()+ ". diametrY = "+nowHitbox.getDiametrY());
|
// System.out.println("READY: diametrX = "+nowHitbox.getDiametrX()+ ". diametrY = "+nowHitbox.getDiametrY());
|
||||||
// System.out.println("READY: coordX = "+(int)nowHitbox.getCurrentRefPoint().x+ ". coordY = "+(int)(nowHitbox.getCurrentRefPoint().y-(nowHitbox.getDiametrY()/2)));
|
// System.out.println("READY: coordX = "+(int)nowHitbox.getCurrentRefPoint().x+ ". coordY = "+(int)(nowHitbox.getCurrentRefPoint().y-(nowHitbox.getDiametrY()/2)));
|
||||||
|
|
||||||
@ -36,7 +41,7 @@ public class HitboxCircleRenderingFunction implements ShapeRenderingFunction {
|
|||||||
currentDiametrX = Math.abs((int)(firstIsoPoint.x )-(int)(currentIsoPoint.x ));
|
currentDiametrX = Math.abs((int)(firstIsoPoint.x )-(int)(currentIsoPoint.x ));
|
||||||
// System.out.println("CURRENT: coordX = "+(int)firstIsoPoint.x+ ". coordX = "+(int)(firstIsoPoint.y-currentDiametrX/4));
|
// System.out.println("CURRENT: coordX = "+(int)firstIsoPoint.x+ ". coordX = "+(int)(firstIsoPoint.y-currentDiametrX/4));
|
||||||
// System.out.println("CURRENT: diametrX = "+currentDiametrX+ ". diametrY = "+currentDiametrX/2);
|
// System.out.println("CURRENT: diametrX = "+currentDiametrX+ ". diametrY = "+currentDiametrX/2);
|
||||||
g.drawOval((int)(firstIsoPoint.x*scaleIndex), (int)((firstIsoPoint.y - currentDiametrX/4)*scaleIndex), (int)(currentDiametrX*scaleIndex ), (int)(currentDiametrX/2*scaleIndex ));
|
g.drawOval((int)(firstIsoPoint.x*scaleIndex+centeringImage.x), (int)((firstIsoPoint.y - currentDiametrX/4)*scaleIndex+centeringImage.y), (int)(currentDiametrX*scaleIndex ), (int)(currentDiametrX/2*scaleIndex ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,8 +75,8 @@ public class HitboxCircleRenderingFunction implements ShapeRenderingFunction {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseMoved(MouseEvent e) {
|
public void mouseMoved(MouseEvent e) {
|
||||||
currentIsoPoint.x = e.getX()/scaleIndex;
|
currentIsoPoint.x = (e.getX()-centeringImage.x)/scaleIndex;
|
||||||
currentIsoPoint.y = e.getY()/scaleIndex;
|
currentIsoPoint.y = (e.getY()-centeringImage.y)/scaleIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void functionClearHitboxJButton() {
|
public void functionClearHitboxJButton() {
|
||||||
|
|||||||
@ -23,6 +23,7 @@ public class HitboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
private List<Point> LocalListPointsIso = new ArrayList<Point>();
|
private List<Point> LocalListPointsIso = new ArrayList<Point>();
|
||||||
private List<Point> LocalListPointsCartesian = new ArrayList<Point>();
|
private List<Point> LocalListPointsCartesian = new ArrayList<Point>();
|
||||||
private float scaleIndex = 1;
|
private float scaleIndex = 1;
|
||||||
|
Point centeringImage;
|
||||||
|
|
||||||
public List<Point> getLocalListPointsIso() {
|
public List<Point> getLocalListPointsIso() {
|
||||||
return LocalListPointsIso;
|
return LocalListPointsIso;
|
||||||
@ -40,7 +41,6 @@ public class HitboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
public void drawing(Graphics2D g) {
|
public void drawing(Graphics2D g) {
|
||||||
scaleIndex = entity.getScaleIndex();
|
scaleIndex = entity.getScaleIndex();
|
||||||
HitboxRectangle nowHitbox = (HitboxRectangle)entity.getHitbox();
|
HitboxRectangle nowHitbox = (HitboxRectangle)entity.getHitbox();
|
||||||
int x1,y1,x2,y2;
|
|
||||||
if(nowHitbox.getListPointsIso().size() == 4) {
|
if(nowHitbox.getListPointsIso().size() == 4) {
|
||||||
drawingLinesFromListPoints(nowHitbox.getListPointsIso(),g);
|
drawingLinesFromListPoints(nowHitbox.getListPointsIso(),g);
|
||||||
}
|
}
|
||||||
@ -58,13 +58,14 @@ public class HitboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
y1 = (int)listPointsIso.get(i % size).y;
|
y1 = (int)listPointsIso.get(i % size).y;
|
||||||
x2 = (int)listPointsIso.get((i+1) % size).x;
|
x2 = (int)listPointsIso.get((i+1) % size).x;
|
||||||
y2 = (int)listPointsIso.get((i+1) % size).y;
|
y2 = (int)listPointsIso.get((i+1) % size).y;
|
||||||
g.drawLine((int)(x1*scaleIndex), (int)(y1*scaleIndex), (int)(x2*scaleIndex), (int)(y2*scaleIndex));
|
g.drawLine((int)(x1*scaleIndex+centeringImage.x), (int)(y1*scaleIndex+centeringImage.y), (int)(x2*scaleIndex+centeringImage.x), (int)(y2*scaleIndex+centeringImage.y));
|
||||||
|
System.out.println("x = "+x1*scaleIndex+centeringImage.x+"|| y = "+y1*scaleIndex+centeringImage.y);
|
||||||
}
|
}
|
||||||
x1 = (int)listPointsIso.get(0).x;
|
x1 = (int)listPointsIso.get(0).x;
|
||||||
y1 = (int)listPointsIso.get(0).y;
|
y1 = (int)listPointsIso.get(0).y;
|
||||||
x2 = (int)listPointsIso.get(3).x;
|
x2 = (int)listPointsIso.get(3).x;
|
||||||
y2 = (int)listPointsIso.get(3).y;
|
y2 = (int)listPointsIso.get(3).y;
|
||||||
g.drawLine((int)(x1*scaleIndex), (int)(y1*scaleIndex), (int)(x2*scaleIndex), (int)(y2*scaleIndex));
|
g.drawLine((int)(x1*scaleIndex+centeringImage.x), (int)(y1*scaleIndex+centeringImage.y), (int)(x2*scaleIndex+centeringImage.x), (int)(y2*scaleIndex+centeringImage.y));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -95,8 +96,11 @@ public class HitboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseMoved(MouseEvent e) {
|
public void mouseMoved(MouseEvent e) {
|
||||||
currentIsoPoint.x = e.getX()/scaleIndex;
|
currentIsoPoint.x = (e.getX()-centeringImage.x)/scaleIndex;
|
||||||
currentIsoPoint.y = e.getY()/scaleIndex;
|
currentIsoPoint.y = (e.getY()-centeringImage.y)/scaleIndex;
|
||||||
|
|
||||||
|
System.out.println("currentIsoPoint.x = "+currentIsoPoint.x);
|
||||||
|
System.out.println("currentIsoPoint.y = "+currentIsoPoint.y);
|
||||||
HitboxRectangle nowHitbox = (HitboxRectangle)entity.getHitbox();
|
HitboxRectangle nowHitbox = (HitboxRectangle)entity.getHitbox();
|
||||||
if(entity!=null) {
|
if(entity!=null) {
|
||||||
if(firstIsoPoint != null && nowHitbox.getListPointsIso().size() == 0) {
|
if(firstIsoPoint != null && nowHitbox.getListPointsIso().size() == 0) {
|
||||||
@ -151,6 +155,9 @@ public class HitboxRectengleRenderingFunction implements ShapeRenderingFunction
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setCenteringImagePoint(Point p) {
|
||||||
|
centeringImage = p;
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public void functionClearJButton() {
|
public void functionClearJButton() {
|
||||||
HitboxRectangle nowHitbox = (HitboxRectangle)entity.getHitbox();
|
HitboxRectangle nowHitbox = (HitboxRectangle)entity.getHitbox();
|
||||||
|
|||||||
Reference in New Issue
Block a user