Biblioteki pozwalają na dzielenie zasobów między projektami. To proste, ale i potężne narzędzie, które możesz używać na wiele sposobów.
Biblioteki są przydatne, kiedy chcesz:
Załóżmy, że chcesz zbudować bibliotekę zawierającą sprite’y i źródła kafelków (tile sources). Rozpoczynasz przez utworzenie nowego projektu. Zdecyduj, które foldery z danego projektu chcesz udostępnić i dołącz ich ścieżki do include_dirs w ustawieniach projektu w pliku game.project. Jeśli chcesz dodać więcej niż jedną lokalizację, oddziel je spacjami:
Zanim będziemy mogli dodać bibliotekę do innego projektu, musimy określić w nim, gdzie szukać bibliotek:
Biblioteki mają standardowy URL. Dla projektu umieszczonego na GitHubie może to być URL do projektu:
Zalecane jest, żeby zawsze polegać na konretnej wersji (release) biblioteki zamiast wersji z gałęzi głównej (master). W ten sposób to Ty decydujesz kiedy podpiąć do Twojego projektu nowszą wersję, która później może zostać wydana przez twórcę biblioteki na bazie zmian z mastera, aby uniknąć zmian w bibliotece, które mogłyby coś zepsuć w Twoim projekcie.
Zauważ, że musisz mieć prawa odczytu do lokalizacji biblioteki. Dla projektów na GitHubie oznacza to, że projekt musi być publiczny albo musisz mieć wyenerowany token dostępu do niego.
Otwórz projekt, w którym chcesz mieć dostęp do danej biblioteki. W ustawieniach projektu dodaj URL bibliotekido polae dependencies. Możesz określić tutaj wiele zależności. Dodaje się przez kliknięcie pzycisku +
, a usuwa przez klinięcie przycisku -
:
Teraz, kliknij Project ▸ Fetch Libraries, żeby zaktualizować zależności do bibliotek. Dzieję się to też automatycznie podczas otwierania projektu, więc będziesz musieć do zrobić tylko w przypadku, gdy chcesz odświeżyć bilbioteki bez otwierania projektu ponownie, np. gdy dodajesz lub usuwasz bibliotekę lub któraś z bibiliotek jest zmieniana przez kogoś innego.
Folder, który udostępniłeś pojawi się w panelu Assets i będziesz mógł używać wszystkiego co jest tam udostępnione. Każda zsynchronizowana zmiana biblioteki będzie dostępna w Twoim projekcie.
Udostępnianie bibliotek działa tylko dla plików, które znajdują się w udostępnionym folderze. Jeśli utworzysz w nim coś, co zawiera referencję do innego pliku z innego folderu, ścieżka referencji będzie nieprawidłowa.
Ponieważ możesz dołączać wiele projektów w polu dependencies ustawień projektu możesz napotkać sytuację kolizji nazw. Zdarza się to, gdy dwa lub więcej plików w udostępnionych folderach posiada taką samą nazwę folderu w polu include_dirs ustawień projektu.
Defold rozwiązuje kolizje nazw ignorując wszystko poza ostatnią referencją do folderu o takiej samej nazwie w kolejności podawania zależności w liście dependencies ustawień projektu. Na przykład, jeśli wskażesz 3 biblioteki, które będą zawierać folder nazwany items, to tylko jeden folder items będzie dostępny — ten należący do projektu, który jest dołączony jako ostatni na liście zależności.
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB