저는 Swing을 사용하여 현재 로게 라이크 게임을 개발 중입니다. 타일을 표시하는 데 JLabel 배열을 사용하고 있습니다.JLabel 배열의 디스플레이가 느려집니다.
for (int i=0 ; i<array.length ; i++){
for(int j=0 ; j<array[i].length ; j++){
this.remove(array[i][j]);
array[i][j] = new JLabel(new ImageIcon(TILEARRAY[i][j]));
this.add(array[i][j]);
this.validate();
}
}
을하지만 약 0.5 초 전체 패널을 다시 그리기에 대처하는 것은 매우 무거운 : 사용자 입력 방향, 나는 다음과 같은 방법을 사용하여 전체 탭을 다시 그릴 때 (내가 여기에 단순화 된 변수 이름을 사용하고 있습니다) 방향을 누를 때 실시간 디스플레이가 가능할 정도로 빨라질 수 없습니다 (대기 시간에 따라 실제로 루프를 수행하고 전체 변위가 완료되면 그립니다). 스윙을 사용하여 "부드러운"느낌 (스톤 수프 던전 크롤 (타일 버전) 에서처럼 말하자)을 사용하여 더 쉽고 빠르게이를 달성 할 수있는 방법이 있는지 알고 싶습니다.
Java 용 효율적인 2D 라이브러리에 대한 모든 제안도 환영합니다. 나는 Slick2D가 있다는 것을 알고 있지만, 이런 종류의 게임을위한 다른 훌륭한 라이브러리가 있습니까?
감사
는this.validate();
한 번만 모두 레이아웃 기본 설정을 피하기 위해 루프 후
UPDATE를 재 계산
얼마 전에 게임을 만들기 시작했을 때이 라이브러리를 사용했습니다. http://lwjgl.org/. 저 레벨 라이브러리이지만 시간이 많이 걸립니다. 많은 튜토리얼을 가지고 있기 때문에 Unity를 사용해 보시지 마십시오 – Slimu
[JLabel # setIcon]을 사용하지 마십시오 (http://docs.oracle.com/javase/7/docs/api/javax/swing/). JLabel을 제거하고 읽는 대신 JLabel.html # setIcon (javax.swing.Icon))? – BackSlash
어떤 제목이 변경 될지 알고 계십니까? 변경에 영향을주는 타일 만 업데이트 할 수 있습니다. –