2014-02-17 4 views
1

나는 Pure Java를 사용하여 매우 간단한 Java 게임을 만들고 있습니다! 게임 부분이 잘 진행되고 있습니다. 나는 그것을 시험해보기 위해 게임을하는 사람들이있다. 업데이트가있을 때마다 다운로드 할 이메일을 보냅니다. 전체 게임은 데스크탑에서 바로 실행되는 jar 파일입니다. 즉, 전체 게임을 하나의 파일로 다운로드한다는 것은 상당한 시간이 소요된다는 것을 의미합니다. 이는 제가 제공하고자하는 첫 인상이 아닙니다. 그리고 이것은 다운로더를 만드는 방법 인 첫 번째 질문에 나를 안내합니다! 플레이어가 크기가 작은 Jar를 다운로드하고 실행하여 더 큰 Jar (게임을 보유하고 있음)를 appdata에 다운로드하려고합니다. 거기에서 나는 플레이어가 파일을 다운로드 할 때 Jar 파일을 실행할 수 있기를 원하며 실행기를 불러올 것입니다. 런처에서 게임 시작 버튼을 누를 수 있으며 플레이어 appdata에서 게임 또는 다른 Jar를 실행합니다. 또한 플레이어가 업데이트 온라인을 확인하고 Jar를 다운로드하고 플레이어 appdata에 넣을 수있는 버튼을 누르기를 원합니다.Java - Downloader, Launcher and Updater

빠른 요약 : 나는 다른 단지 내가 다른 항아리

  • 를 실행 버튼을 어떻게
  • 을 다운로드합니다 항아리를 어떻게해야합니까

    • 어떻게 그 것이다 버튼을 만들 수 있죠 업데이트를 확인하고 설치하십시오.

    저는 소프트웨어를 만들기 위해 net beans를 사용합니다!

    감사합니다.

  • 답변

    0

    당신은 특정 jar 파일의 폴더에있는 경우 당신이 작은 테스트 루틴을 포함 간단하게 할 수 있습니다 응용 프로그램 (당신이 배포하는 것)에서 Java Network Launch Protocol

    +0

    감사합니다. 이것에 대해 살펴 보겠습니다.하지만 다운로드 한 후에 항아리를 어떻게 실행합니까? – Dev

    +0

    실제로는 실행기이므로 업데이트가 있는지 확인합니다. 두 경우 모두 새로운 (존재한다면) 또는 이전에 존재하는 병을 시작합니다. –

    1

    런처

    를 사용할 필요가 당신의 프로그램. 다른 jar 파일을 실행할 수있는 부분으로 이동하십시오. 다운로드하지 않은 경우.

    다운로드 파일

    자바를 통해 파일을 다운로드하는 방법에 대한 this other SO question에서보세요. 첫 번째 대답을 테스트 한 후 currencies.csv 파일을 다운로드합니다. 그것은 단지 헛소리지만 작동합니다. 파일이 프로젝트 폴더에 저장됩니다.

    그러나 다운로드 한 파일은 새 파일에 한 줄씩 기록됩니다 (이 예제에서는 다운로드 한 텍스트 파일이기 때문에 Strings로 표시). Here은 파일 bytebyte으로 읽고 쓰는 방법에 대한 (매우 확장 된) 예입니다. 귀하의 경우에 더 적절할 수 있습니다.

    당신은 당신이 그것을 실행해야 새로운 jar 파일을 다운로드 이제 또 다른 항아리

    를 실행. 그러나 이것은 프로그램 시작 (또는 다른 명령 실행)이 모든 시스템마다 다를 수 있기 때문에 더 복잡 할 수 있습니다. 그러나 여기에 대해서는 another SO question입니다. 내 취향에 맞는 Runtime으로 제안을 찾았지 만 항아리를 실행하는 더 좋은 방법을 찾을 수 있습니다.

    다른 제안

    하지만 어쩌면 거기에 다른 방법은 당신이 완전한 실행 가능한 jar 파일을 다운로드 할 필요가 없습니다. 다른 프로그램에서는 이러한 문제가 종종 라이브러리에 의해 해결됩니다.

    게임을 여러 부분 (예 : 다른 레벨의 다른 jar 라이브러리)으로 나눠서 작성할 수 있습니다. 게임을 실행하려면 lib 폴더에 모든 jar 파일이 있어야합니다. 런처는 루틴을 실행하여 모든 파일이 있는지 검색하고 필요한 경우 누락 된 jar를 다운로드합니다.

    다중 라이브러리 버전은 프로그램을 업데이트하는 데 도움이 될 수도 있습니다. 그렇게하면 플레이어는 새로운 업데이트가있을 때마다 전체 게임을 다운로드 할 필요가 없지만 단순히 변경된 단일 jar 파일 (런처에 테스트를 포함시켜야 할 필요가 있습니다)

    미안하지만, 코드를 제공 할 수 없다면 꽤 많은 프로젝트가 있습니다 :) 그러나 링크를 통해 시작해야 할 위치에 대한 아이디어를 얻을 수 있기를 바랍니다.

    +0

    나는 런타임 하나를 보았고 나는 여전히 질문을 가지고있다. 런타임에 파일 경로를 추가 할 위치는 어디입니까? – Dev

    +0

    파일 경로는 파일 이름 자체와 같습니다. 'MainJar.jar'을 실행하려면'./MainJar.jar'을 호출하십시오. (./은 사용자가 위치한 디렉토리의 프로그램 jar 외부로 * 연결됩니다) – GameDroids