안녕하세요. 저는 2D 게임을 만들고 있고 4 개의 사전 설정된 이미지에서 임의의 잔디 배경을 생성하고 있습니다. 내 문제는이, 내 게임이 코드를 사용하기 시작 게임에 생성 된 배열에서 각각의 이미지를 그립니다 : 잘 작동Java : 그래픽에서 이미지를 가져 와서 임시 BufferedImage로 변환하십시오.
public static void createBackground() {
for(int x = 0; x < 640; x+= 32) {
for(int y = 0; y < 496; y+= 32) {
random = new Random();
int grassTex = random.nextInt(grassTextures.size());
grassPos.add(grassTextures.get(grassTex));
}
}
}
하지만, 문제가 발생하는 곳이다. 이 FPS의 저하를 (그것은 많은 아니지만이 눈에 띈다)가 발생
public static void paintBackground(Graphics g) {
counter = 0;
for(int x = 0; x < 640; x+= 32) {
for(int y = 0; y < 496; y+= 32) {
random = new Random();
int grassTex = random.nextInt(grassTextures.size());
g.drawImage(grassPos.get(counter), x, y, null);
counter++;
}
}
}
:이를 사용하여 해당 배열에 넣고 모든 이미지를 다시 그리기입니다. 어쨌든 모든 풀 이미지를 하나의 BufferedImage로 그려서 그려지는 이미지가 하나뿐입니다. 아니면 이것을하는 더 효율적인 방법이 있습니까?
감사합니다.
제쳐두고 하나의 '랜덤 (Random)'을 만들고 루프 반복마다 하나를 만드는 대신 그것을 재사용하십시오. – McDowell