2017-12-14 5 views
0

그래서 저는 Java를 사용하여 간단한 게임을 만들었습니다. 내 항아리 파일을 가지고 있고 그 안에 사진을 보관하고 있습니다. 거기에서 계속되고있는 많은 그림과 같습니다. 약 9MB (주로 아이콘)의 140+ 사진과 비슷합니다 (효율성에 대해 걱정하지 않아도 게임은 이미 부드럽게 실행됩니다). 이제 jar 파일을 .exe로 감싸고 Inno Setup을 사용하여 설치 파일을 만들었습니다. 문제는 application.exe 파일과 제거 파일 만있는 Program Files 폴더를 만드는 것입니다. 이것은 나에게 다소 모호하고 전문가가 아닌 것처럼 보입니다. 위대한 게임이 물론 실행 파일 밖에있는 모든 아이콘을 가지고 있지만 이미지를 안쪽이나 바깥쪽으로 유지하는 것이 좋은 방법일까요? 제안을 환영합니다 : D이미지를 JAR 내부에 넣거나 꺼내야합니까? (Inno Setup)

+0

만약 당신이 exe를 만들고 있다면, 그들은 꽤 많이 나와야합니다. 이 의미에서 대부분의 게임은 이미지를 가지고 있지만 대신 .exe에 바로 가기가있어서 전문가가 아닌 것처럼 보이지 않습니다. –

+0

@Treyten 나는 이것에 대한 심층 연구에 들어 가지 않았지만 '큰'게임이 이미지와 다른 것을 유지한다고 생각합니다. 500MB 이상의 exe를 갖는 것은 실용적이지 않습니다. 어쨌든 나는이 문제에 대한 의견을 원했고 나는이 문제에 대한 해답을 얻었다고 생각한다. –

답변

0

나는 이미지와 다른 리소스를 JAR 파일 안에 보관하는 것을 선호합니다. 사용자는 프로그램 클래스와 마찬가지로 사용자가 변경하지 못하게 할 수 있습니다. 그래서 저는 왜 당신이 수업에 비해 이미지를위한 다른 저장 공간을 가져야하는지 알지 못합니다.

가장 강력하고 단순한 ("전문적"이라는 의미입니다) 설치 프로그램은 모든 프로그램이 하나의 파일에 모든 필수 구성 요소가 포함되도록하는 것입니다 - 거기에 있거나 작동하거나 누락되었습니다. 즉시 보게 될 것입니다. 수십 개의 하위 디렉토리 및 파일의 존재 여부 및 액세스 가능성을 확인할 필요가 없습니다.

질문하시는대로 클래스 패스에서 이미지를 읽을 수있게되어 클래스 파일과 함께 저장할 수있게되었습니다. JAR에서.

EXE의 줄 바꿈과 관련하여 차이가 없어야합니다. ClassLoader가 클래스를 찾으면 반드시 같은 방식으로 이미지를 찾습니다. 심지어 Ahead-Of-Time 컴파일러도 getResourceAsStream()을 지원합니다 (우리는 Excelsior Jet을 사용했습니다).

+0

"하나의 파일에 모든 전제 조건을 가진 전체 프로그램"이라는 엄지 손가락 - 나는 문장과 다소 모호합니다. 나는 프로그램이 분명히 하나의 파일이어야한다고 생각하지만, 모든 것을 한 파일에 넣으면 최악의 시나리오에서 여분의 큰 파일이 생기게됩니다. 거기에 많은 그림과 데이터가 있습니다. "그것은 둘 중 하나의 작품입니다 또는 물건을 놓치고있다 "는 생각이 들었다. 나는 Program Files의 Photoshop 폴더 안에있는 일부 파일을 변경하거나 삭제할 수 있다고 생각하고있다. 그리고 아마도 당신의 답을 고맙게 생각할 것이다. 그러나 나는 다른 의견을 기다리고 기다릴 것이다. –