added character loading from file
This commit is contained in:
parent
2f4d788874
commit
f2e40d8d40
@ -1,5 +1,7 @@
|
|||||||
package ruscz.game.gameOfProd.Image;
|
package ruscz.game.gameOfProd.Image;
|
||||||
|
|
||||||
|
import ruscz.game.gameOfProd.Windows.WindowOfFreeMove;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.image.*;
|
import java.awt.image.*;
|
||||||
@ -12,6 +14,8 @@ public class ImagePerson {
|
|||||||
private BufferedImage[] imagesOfDirection;
|
private BufferedImage[] imagesOfDirection;
|
||||||
private int subimageWidth;
|
private int subimageWidth;
|
||||||
private int subimageHeight;
|
private int subimageHeight;
|
||||||
|
private Dimension imgSize = new Dimension(subimageWidth, subimageHeight);
|
||||||
|
private Dimension boundary = new Dimension(WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE);
|
||||||
|
|
||||||
public void setAllImagesOfDirection(Rectangle[] rectangles){
|
public void setAllImagesOfDirection(Rectangle[] rectangles){
|
||||||
imagesOfDirection = new BufferedImage[12];
|
imagesOfDirection = new BufferedImage[12];
|
||||||
@ -22,7 +26,8 @@ public class ImagePerson {
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
for (int j = 0; j < 4; j++) {
|
for (int j = 0; j < 4; j++) {
|
||||||
imagesOfDirection[count] = image.getSubimage(subimageWidth * i, subimageHeight * j, subimageWidth, subimageHeight);
|
BufferedImage img = image.getSubimage(subimageWidth * i, subimageHeight * j, subimageWidth, subimageHeight);
|
||||||
|
imagesOfDirection[count] = resize(img);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -43,6 +48,31 @@ public class ImagePerson {
|
|||||||
setAllImagesOfDirection(rectangles);
|
setAllImagesOfDirection(rectangles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BufferedImage resize(BufferedImage img) {
|
||||||
|
Image tmp;
|
||||||
|
if (subimageWidth > WindowOfFreeMove.CELL_SIZE) {
|
||||||
|
int newHeight = subimageHeight * WindowOfFreeMove.CELL_SIZE / subimageWidth;
|
||||||
|
tmp = img.getScaledInstance(WindowOfFreeMove.CELL_SIZE, newHeight, Image.SCALE_SMOOTH);
|
||||||
|
}
|
||||||
|
else if (subimageHeight > WindowOfFreeMove.CELL_SIZE) {
|
||||||
|
int newWidth = subimageWidth * WindowOfFreeMove.CELL_SIZE / subimageHeight;
|
||||||
|
tmp = img.getScaledInstance(newWidth, WindowOfFreeMove.CELL_SIZE, Image.SCALE_SMOOTH);
|
||||||
|
}
|
||||||
|
else if (subimageWidth < WindowOfFreeMove.CELL_SIZE && subimageHeight < WindowOfFreeMove.CELL_SIZE) {
|
||||||
|
int newWidth = subimageWidth * WindowOfFreeMove.CELL_SIZE / subimageHeight;
|
||||||
|
tmp = img.getScaledInstance(newWidth, WindowOfFreeMove.CELL_SIZE, Image.SCALE_SMOOTH);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
tmp = img.getScaledInstance(subimageWidth, subimageHeight, Image.SCALE_SMOOTH);
|
||||||
|
}
|
||||||
|
BufferedImage dimg = new BufferedImage(WindowOfFreeMove.CELL_SIZE, WindowOfFreeMove.CELL_SIZE, BufferedImage.TYPE_INT_ARGB);
|
||||||
|
Graphics2D g2d = dimg.createGraphics();
|
||||||
|
g2d.drawImage(tmp, (WindowOfFreeMove.CELL_SIZE - tmp.getWidth(null)) / 2, (WindowOfFreeMove.CELL_SIZE - tmp.getHeight(null)) / 2, null);
|
||||||
|
g2d.dispose();
|
||||||
|
|
||||||
|
return dimg;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public BufferedImage[] getImagesOfDirection() {
|
public BufferedImage[] getImagesOfDirection() {
|
||||||
return imagesOfDirection;
|
return imagesOfDirection;
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import java.awt.event.KeyEvent;
|
|||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
||||||
public class WindowOfFreeMove extends JFrame {
|
public class WindowOfFreeMove extends JFrame {
|
||||||
public static final int CELL_SIZE = 40;
|
public static final int CELL_SIZE = 50;
|
||||||
public static int CANVAS_WIDTH = 50;
|
public static int CANVAS_WIDTH = 50;
|
||||||
public static int CANVAS_HEIGHT = 50;
|
public static int CANVAS_HEIGHT = 50;
|
||||||
public static final int WINDOW_WIDTH = 11;
|
public static final int WINDOW_WIDTH = 11;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user