그래서 제가 만든 콘솔 게임이있어서 2 차원으로 만들 생각이에요. 지금까지 모든 것이 좋았습니다. 운동 및 기타 잘 작동합니다. 그리고이 그림이 나올 때까지 그림이 좋았습니다.Java 애플릿 두 번째 드로잉 (검은 색 부분)을 할 때 그래픽 드로잉 문제가 발생했습니다.
내 레이어를 나타내는 클래스를 만들면 재생 가능한지도가 레이어가 될 것이라고 생각했으며 서로 레이어를 그립니다. 빠른 드로잉을 위해 메모리에 저장할 수도 있습니다.
나는 이것이 '좋은'/ '괜찮아요'아이디어라고 생각했다.을 내가 2 개 레이어 두 번째를 사용할 때 문제가된다 (좋은 생각인지 아닌지 누군가 말해한다면 내가 감사하겠습니다) 레이어는 항상 첫 번째 레이어를 망칩니다. (확신 한 층으로 작동)
for (TileLayer layer : layers)
g.drawImage(layer.getImage(), 0, 0, null);
layer.getImage()가 정확한지 : 내가 '지도'를 그리는 데 사용하는 코드는 다음과 같습니다. 문제는 두 개의 레이어를 그릴 때 두 번째 레이어가 첫 번째 레이어의 모든 것을 검정색으로 그립니다.
이BufferedImage img = new BufferedImage(tiles.length * Tile.TILE_SIZE,
tiles[0].length*Tile.TILE_SIZE,
ColorSpace.TYPE_RGB);
for (int x = 0; x < tiles.length; x++) {
for (int y = 0; y < tiles[0].length; y++) {
//System.out.println("ID:" + tiles[x][y].getId());
img.getGraphics().drawImage(tiles[x][y].getImage(),
x * Tile.TILE_SIZE,
y * Tile.TILE_SIZE,
null);
}
}
그것의 난 '페인트'를 오버라이드 (override) 된 자바 애플릿, 난 그 변경 : 는이 같은 레이어 드로우 코드가 있습니다. '공기'를 표현하기 위해 투명한 이미지를 사용해 보았습니다. (아마도 이것이 엉망이 될 것이라고 생각했습니다.) 은 그리면 안되는 상황을 추가하려고 시도했습니다.
나는 잘못된 방식으로 작동하는 것을 만들었을 수도 있습니다. 이렇게하는 적절한 방법에 대한 도움은 좋을 것입니다. (또는 내가 잘못 생각할 수있는 곳을 말해주십시오)
문제였습니다. 정말 고마워요. – Zentdayn