1
Board 클래스의 배열 텍스처 [] (텍스처 클래스 int에 위치)의 변수를 사용할 수 있어야합니다. 그러나 나는 그 일을 어떻게 처리 할 것인지 생각할 수 없다.다른 클래스의 배열 텍스처를 어떻게 사용할 수 있습니까?
이것은 자바의 텍스처에 텍스처를 추가하는 방법을 알아 내려고 노력하고 있습니다. 게임을 만드는 법을 배우려고합니다. 그래서 나는 아주 noobish 하하.
이
난에 텍스쳐 [] 배열을 사용하고자하는 클래스이다.import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class Board extends JPanel{
public Board(){
}
public void paint(Graphics g){
g.drawImage(texture[1], 0, 0, null);
g.setFont(new Font("Verdana", 0, 50));
g.setColor(Color.YELLOW);
g.drawString(": FPS", 20, 50);
}
public void update(){
repaint();
}
}
이 텍스쳐 [] 배열을 생성하는 클래스이다. 또 다른 방법으로
texturesClassInstance.texture;
: 당신의 texture
변수가 공개로
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
public class Textures {
BufferedImage img;
private int w, h;
public int id[];
public Image texture[];
public Textures() throws IOException {
URL url = this.getClass().getResource("Resources/Textures.png");
img = ImageIO.read(url);
w = 0;
h = 0;
for(int i1 = 0; i1 < 16; i1++){
texture[i1] = img.getSubimage(w, h, 16, 16);
id[i1] = i1;
w += 16;
h += 16;
}
}
}
getTextures 메서드를 추가하고 Board.java에 Image [] 텍스처를 추가했지만, Board 클래스의 im에 언제든지 texture = Textures.getTextures(); getTextures는 정적 일 필요가 있지만 프로그램을 실행할 때 더 많은 오류가 발생합니다. – user1598967
'Textures texturesClassInstance = new Textures();'와'TexturesClassInstance.getTextures()'와 같이 Textures 클래스의 인스턴스가 필요합니다. – elias