Sprite enum system implemented

Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com>
main
Nico Nico Nii 3 years ago
parent 9136dd58bf
commit 20eea068eb
  1. 8
      src/sig/RabiClone.java
  2. 29
      src/sig/engine/Panel.java
  3. 29
      src/sig/engine/Sprite.java
  4. 0
      src/sig/engine/SpriteImage.java

@ -1,11 +1,9 @@
package sig; package sig;
import javax.imageio.ImageIO;
import javax.swing.JFrame; import javax.swing.JFrame;
import sig.engine.Panel; import sig.engine.Panel;
import java.awt.image.BufferedImage; import sig.engine.Sprite;
import java.io.File;
import java.io.IOException;
public class RabiClone { public class RabiClone {
public static final String PROGRAM_NAME="Sig's Java Project Template"; public static final String PROGRAM_NAME="Sig's Java Project Template";
@ -20,7 +18,7 @@ public class RabiClone {
f.setSize(1280,720); f.setSize(1280,720);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true); f.setVisible(true);
p.render(); p.render();
} }
} }

@ -6,15 +6,11 @@ import java.awt.Image;
import java.awt.Toolkit; import java.awt.Toolkit;
import java.awt.image.ColorModel; import java.awt.image.ColorModel;
import java.awt.image.MemoryImageSource; import java.awt.image.MemoryImageSource;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.awt.image.BufferedImage;
import java.awt.event.ComponentEvent; import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener; import java.awt.event.ComponentListener;
import javax.imageio.ImageIO;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -36,21 +32,12 @@ public class Panel extends JPanel implements Runnable,ComponentListener {
int frameCount=0; int frameCount=0;
long lastSecond=0; long lastSecond=0;
int lastFrameCount=0; int lastFrameCount=0;
Sprite nana_sprite;
boolean resizing=false; boolean resizing=false;
public Panel(JFrame f) { public Panel(JFrame f) {
super(true); super(true);
this.window=f; this.window=f;
thread = new Thread(this, "MyPanel Thread"); thread = new Thread(this, "MyPanel Thread");
BufferedImage nana;
try {
nana = ImageIO.read(new File("..","3x.png"));
nana_sprite = Get_Nana(nana);
} catch (IOException e) {
e.printStackTrace();
}
} }
/** /**
@ -125,7 +112,7 @@ public class Panel extends JPanel implements Runnable,ComponentListener {
p[y*getWidth()+x]=(0<<16)+(0<<8)+0;//RGB p[y*getWidth()+x]=(0<<16)+(0<<8)+0;//RGB
} }
} }
Draw_Nana(nana_sprite); Draw_Sprite(Sprite.NANA);
} }
private void resizeUpdate() { private void resizeUpdate() {
@ -303,19 +290,7 @@ public class Panel extends JPanel implements Runnable,ComponentListener {
} }
} }
public Sprite Get_Nana(BufferedImage b_image){ public void Draw_Sprite(Sprite sprite){
Sprite sprite_input = new Sprite();
sprite_input.height = b_image.getHeight();
sprite_input.width = b_image.getWidth();
sprite_input.bi_array = new int [b_image.getWidth()*b_image.getHeight()];
for(int x=0;x<b_image.getHeight();x++){
for(int y=0;y<b_image.getWidth();y++){
sprite_input.bi_array[y*b_image.getWidth()+x] = b_image.getRGB(x,y);
}
}
return sprite_input;
}
public void Draw_Nana(Sprite sprite){
int[] p = pixel; int[] p = pixel;
for(int x=0;x<sprite.height;x++){ for(int x=0;x<sprite.height;x++){
for(int y=0;y<sprite.width;y++){ for(int y=0;y<sprite.width;y++){

@ -1,8 +1,29 @@
package sig.engine; package sig.engine;
public class Sprite{ import java.awt.image.BufferedImage;
int height; import java.io.IOException;
int width; import java.nio.file.Path;
int[] bi_array;
import javax.imageio.ImageIO;
public enum Sprite{
NANA(Path.of("..","3x.png"));
BufferedImage img;
int height;
int width;
int[] bi_array;
Sprite(Path filename){
try {
BufferedImage img = ImageIO.read(filename.toFile());
this.width=img.getWidth();
this.height=img.getHeight();
this.bi_array = new int[width*height];
img.getRGB(0,0,width,height,this.bi_array,0,width);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Loaded sprite for "+this+".");
};
} }
Loading…
Cancel
Save