Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Tworzenie pakietu aplikacji

Podczas pracy nad aplikacją warto wyrobić sobie nawyk możliwie częstego testowania gry na platformach docelowych. Pozwala to wcześnie wykryć problemy z wydajnością, gdy są jeszcze znacznie łatwiejsze do naprawienia. Zalecamy też testowanie na wszystkich platformach docelowych, aby wychwycić różnice, na przykład w shaderach. Podczas pracy nad aplikacjami mobilnymi możesz używać aplikacji deweloperskiej na urządzenia mobilne (mobile development app) do przesyłania zawartości do aplikacji, zamiast za każdym razem tworzyć pełny pakiet i przechodzić przez cykl odinstalowania oraz ponownej instalacji.

Pakiet aplikacji dla wszystkich platform obsługiwanych przez Defold możesz utworzyć bezpośrednio w edytorze Defold, bez potrzeby używania zewnętrznych narzędzi. Możesz też tworzyć pakiety z wiersza poleceń, korzystając z naszych narzędzi wiersza poleceń. Tworzenie pakietu aplikacji wymaga połączenia sieciowego, jeśli projekt zawiera jedno lub więcej rozszerzeń natywnych.

Tworzenie pakietu w edytorze

Pakiet aplikacji tworzysz z menu projektu, wybierając Project ▸ Bundle...:

Wybranie dowolnej z tych opcji otworzy okno dialogowe Bundle dla tej konkretnej platformy.

Raporty budowania

Podczas tworzenia pakietu gry możesz utworzyć raport budowania. To bardzo przydatne, gdy chcesz lepiej ocenić rozmiar wszystkich zasobów wchodzących w skład pakietu gry. Po prostu zaznacz pole wyboru Generate build report podczas tworzenia pakietu.

raport budowania

Więcej informacji o raportach budowania znajdziesz w podręczniku profilowania.

Android

Tworzenie pakietu aplikacji dla Androida (.apk) opisano w podręczniku Androida.

iOS

Tworzenie pakietu aplikacji dla iOS (.ipa) opisano w podręczniku iOS.

macOS

Tworzenie pakietu aplikacji dla macOS (.app) opisano w podręczniku macOS.

Linux

Tworzenie pakietu aplikacji dla systemu Linux nie wymaga żadnej konkretnej konfiguracji ani opcjonalnych ustawień specyficznych dla platformy w game.project pliku ustawień projektu.

Windows

Tworzenie pakietu aplikacji dla systemu Windows (.exe) opisano w podręczniku Windows.

HTML5

Tworzenie pakietu aplikacji HTML5 oraz opcjonalną konfigurację opisano w podręczniku HTML5.

Facebook Instant Games

Można utworzyć specjalną wersję pakietu aplikacji HTML5 dla Facebook Instant Games. Proces ten opisano w podręczniku Facebook Instant Games.

Tworzenie pakietu z wiersza poleceń

Edytor używa naszego narzędzia wiersza poleceń Bob do tworzenia pakietów aplikacji.

Na co dzień prawdopodobnie będziesz budować projekt i tworzyć pakiety bezpośrednio w edytorze Defold. W innych sytuacjach możesz chcieć automatycznie generować pakiety, na przykład wsadowo budować je dla wszystkich platform docelowych przy wydawaniu nowej wersji albo przygotowywać nocne kompilacje najnowszej wersji gry, na przykład w środowisku CI. Budowanie i tworzenie pakietów można wykonywać poza standardowym przepływem pracy edytora, korzystając z narzędzia wiersza poleceń Bob.

Układ pakietu

Logiczny układ pakietu wygląda tak:

Pakiet jest zapisywany w folderze. W zależności od platformy ten folder może zostać też spakowany do archiwum .apk lub .ipa. Zawartość folderu zależy od platformy.

Oprócz plików wykonywalnych proces tworzenia pakietu zbiera również wymagane zasoby dla danej platformy, na przykład pliki zasobów XML dla Androida.

Za pomocą ustawienia bundle_resources możesz skonfigurować zasoby, które powinny zostać umieszczone w pakiecie bez zmian. Możesz to kontrolować osobno dla każdej platformy.

Zasoby gry znajdują się w pliku game.arcd i są indywidualnie kompresowane algorytmem LZ4. Za pomocą ustawienia custom_resources możesz skonfigurować zasoby, które powinny zostać umieszczone w game.arcd z kompresją. Możesz uzyskać do nich dostęp za pomocą funkcji sys.load_resource().

Wersje release i debug

Podczas tworzenia pakietu możesz wybrać wariant debug lub release. Różnice między nimi są niewielkie, ale warto je znać:

  • Wersje release nie zawierają profilera
  • Wersje release nie zawierają rejestratora ekranu
  • Wersje release nie wyświetlają wyników działania print() ani danych wyjściowych z natywnych rozszerzeń
  • Wersje release mają wartość is_debug w sys.get_engine_info() ustawioną na false
  • Wersje release nie wykonują odwrotnego wyszukiwania wartości hash podczas wywoływania tostring(). W praktyce oznacza to, że tostring() dla wartości typu url lub hash zwróci ich numeryczną reprezentację, a nie oryginalny ciąg ('hash: [/camera_001]' vs 'hash: [11844936738040519888 (unknown)]')
  • Wersji release nie można wybrać w edytorze jako celu dla szybkiego przeładowania i podobnych funkcji