Dodawanie Wirtualnego Sklepu do Twojej Gry Część 1
Jeśli gracze w Twojej grze pokonali lub zaczynają się nudzić, stworzenie sklepu z odblokowywalnymi przedmiotami lub postaciami to świetny sposób na zwiększenie wartości powtarzalności i zatrzymania graczy.
W tym samouczku omówimy, jak zbudować sklep w aplikacji, w którym użytkownicy "Kupują" przedmioty za punkty, które wygenerowali w Twojej grze!
W tym przykładzie nasza gra będzie bardzo prosta… Po prostu klikaj gracza, aby zdobyć więcej punktów! Jeśli chcesz zdobyć więcej punktów za kliknięcie, ulepsz swojego "Gracza".
Aby rozpocząć, skonfigurujemy nasze pieniądze, które będą dzielone we wszystkich scenach.
Dodawanie pieniędzy
Pierwszą rzeczą, którą zrobimy, jest przejście do Global UI i dodanie etykiety, która będzie reprezentować nasze pieniądze, ustawiając tekst na 0. Dodaj także inną etykietę, aby powiedzieć, co oznacza ta etykieta.
Przesuńmy także etykietę pieniędzy lekko poza ekran, aby nigdy się nie pokazała podczas grania w Twoją grę.
Teraz zajmiemy się zapisywaniem i ładowaniem pieniędzy, aby za każdym razem, gdy gracz opuści Twoją grę, zarobione pieniądze wciąż tam były!
Zapisywanie pieniędzy
Przejdź do zachowań etykiety pieniędzy.
Zajmiemy się aktualizowaniem naszych pieniędzy najpierw.
Będziemy potrzebować Pakietu Zachowań, Get Label, Save Value oraz zachowania Broadcast Message.
Ułóż zachowania jak na powyższym zdjęciu i ustaw Pakiet Zachowań na OFF.
Dużo się tam działo. Przejdźmy przez to, co to wszystko oznacza.
Kiedy coś wykonuje Pakiet Zachowań, chcemy uzyskać etykietę, aby chwycić aktualną wartość pieniędzy. Jeśli się zastanawiasz, dlaczego nie użyliśmy kontenera Box do tego, to dlatego, że nie ma możliwości uzyskania wartości kontenera Box, będąc w innym obiekcie… NA RAZIE.
Następnie chcemy zapisać tę wartość Get Label do pliku. Aby to zrobić, po prostu przeciągnij wyjście z Get Label i upuść je w polu wejściowym Value To Save dla Save Value.
Zachowanie Broadcast Message informuje inne obiekty o tym, że pieniądze zostały właśnie zaktualizowane. Możesz to wykorzystać do aktualizacji etykiet w scenie z nową wartością pieniędzy.
Ładowanie pieniędzy
Teraz, gdy zapisanie mamy za sobą, zróbmy tak, aby gdy gracz otworzy Twoją aplikację, ładowało pieniądze, które gracz zarobił!
Wewnątrz etykiety pieniędzy musimy dodać Pakiet Zachowań, Load Value, kolejny Pakiet Zachowań i Behavior On. Ułóż to, jak na poniższym zdjęciu.
Teraz dodaj zachowanie If, kolejne If i przeciągnij na bok pierwszego If, aby utworzyć Else If, Change Label i Behavior On. Ustaw Behavior On tak, aby włączył wiadomość Broadcast z wcześniejszej części.
Ułóż te zachowania, jak na poniższym zdjęciu:

Ok… Dużo się tu dzieje, więc przyjrzyjmy się, co właśnie zbudowaliśmy!
Pewnie zastanawiasz się, jaka jest rola Pakietów Zachowań. Pakiety Zachowań mają dwa cele… Po pierwsze, organizują Twoje zachowania, a po drugie, wymuszają porządek zachowań, aby wykonywały się od lewej do prawej, jak zdarzenie.
Łączymy więc nasze zachowanie Load Value z Pakietem Zachowań, aby, gdy scena się zaczyna, załadowało wartość zapisaną w pliku. W właściwościach Load Value upewnij się, że wybierasz zachowanie Save Value, które stworzyliśmy wcześniej.
Następny Pakiet Zachowań sprawdzi, czy wartość została załadowana, czy nie. Zachowanie If zmieni etykietę, jeśli wartość nie jest pusta. Aby to zrobić, ustaw pierwsze pole wejściowe na wyjście z zachowania Load Value, a drugie pole wejściowe na puste.
Zachowanie If łączy się z Change Label i zostanie wykonane tylko, jeśli Load Value faktycznie załadowało wartość.
Behavior Else nie musi niczego sprawdzać. Zawsze będzie po prostu prawdziwe i wykona swoje zachowanie Behavior On. Zachowanie On po prostu wykona Utworzenie Zachowania Zapisu, które stworzyliśmy wcześniej, aby zapisać domyślną kwotę pieniędzy, jaką ma gracz.
Wydawanie pieniędzy!
Teraz, gdy mamy za sobą ładowanie i zapisywanie pieniędzy, przejdźmy do sposobu ich wydawania! W tym celu zbudujemy zintegrowany system transakcji z etykiet.
Aby rozpocząć, na Głównym Canvas przeciągnij trzy etykiety. Pierwsza będzie reprezentować bieżącą kwotę transakcji, druga będzie reprezentować status, a trzecia będzie reprezentować wiadomość, na przykład "Nie wystarczająco dużo pieniędzy!" lub "Kupione!". Użyjmy także etykiet, aby wiedzieć, co one reprezentują. Przesuńmy także wszystko lekko poza ekran, aby nie były widoczne dla gracza, gdy gra w grę.
Możemy także przeciągnąć inny obiekt na nasz płótno, aby obsłużyć logikę transakcji. W tym przykładzie użyjemy etykiety, która mówi "Logika Transakcji".
Wejdź do zachowań etykiety Logika Transakcji, aby stworzyć logikę obsługującą logikę zakupu.
Musimy to zrobić, aby sprawdzić, czy gracz ma wystarczającą ilość pieniędzy, aby zakończyć transakcję. Aby to zrobić, przeciągnij Pakiet Zachowań oraz dwa Get Label i połącz je jak na poniższym zdjęciu. Upewnij się, że ustawisz Pakiet Zachowań na wyłączony, aby nie wywołać przedwcześnie transakcji, gdy scena się ładuje.
Pierwsze Get Label pobiera etykietę pieniędzy, a drugie pobiera kwotę transakcji. Co chcemy sprawdzić, to czy pieniądze są mniejsze od kwoty transakcji. Jeśli tak, chcemy zmienić status transakcji na "Nieudana" i wiadomość na "Nie wystarczająco dużo pieniędzy!".
Aby to zrobić, dodaj zachowanie If i dwa zmieniające etykiety. Ułóż zachowania jak na poniższym zdjęciu.
Zachowanie If po prostu sprawdza, czy etykieta pieniędzy jest mniejsza od kwoty transakcji.
Teraz sprawdzimy odwrotność. Jeśli użytkownik ma wystarczająco dużo pieniędzy, odejmijmy kwotę transakcji od pieniędzy i zapiszmy pieniądze. Aby to zrobić, stwórz zachowanie Else If jak wcześniej, połącz Pakiet Zachowań, aby zorganizować resztę naszej logiki, zachowanie Subtract Values, zachowanie Change Label i zachowanie On.
Zachowanie Subtract Values odejmie kwotę transakcji od pieniędzy.
Następnie użyjemy Change Label, aby zmienić etykietę pieniędzy na wyjście z zachowania Subtract Values.
Zachowanie On następnie wykona Pakiet Zachowań Zapisz, który stworzyliśmy w sekcji Zapisywanie Pieniędzy.
Teraz stwórzmy status sukcesu, aby akcja, która wykonuje transakcję wiedziała, czy była ona pomyślna czy nie!
Aby to zrobić, po prostu przeciągnij dwa zachowania Change Label.
Ustaw etykietę statusu na "Sukces" i etykietę transakcji na "Kupione!"
Więc teraz mamy sposób na wydawanie pieniędzy. Ustawiając kwotę transakcji za pomocą zachowania Change Label, musimy tylko użyć Behavior On na Pakiecie Zachowań, który wywołuje naszą logikę transakcji. Aby sprawdzić, czy była ona udana, wystarczy sprawdzić etykietę Status, aby zobaczyć, czy mówi "Nieudana" czy "Sukces".
Zarabianie pieniędzy!
Mamy graczy wydających pieniądze… ale jak mogą wydać to, czego nie mają? Musimy dać naszym graczom metodę zarabiania pieniędzy, które mogą wydać. Nadal w naszej logice zakupu, dodaj kolejny Pakiet Zachowań, aby obsłużyć naszą logikę zakupu i upewnij się, że jest ona wyłączona. Nie chcemy przedwcześnie kupować czegoś, gdy scena się zaczyna.
Pierwszą rzeczą, którą zrobimy, jest uzyskanie pieniędzy i kwoty transakcji. Więc dodaj dwa Get Label jak poniżej.
Następnie chcemy dodać Pieniądze do kwoty transakcji. Dodaj zachowanie Add Value, zachowanie Change Label i zachowanie On.
Zachowanie Change Label będzie wyjściem z zachowania Add Value, zmieniając wartość pieniędzy. Zachowanie On zapisze naszą nową wartość pieniędzy tak, jak robiliśmy to w ostatniej sekcji.
Na koniec chcemy stworzyć status transakcji i wiadomość. Dodaj dwa zachowania Change label, aby ustawić Status na "Sukces" i wiadomość na coś w rodzaju "Sprzedano!".
I teraz mamy możliwość, aby nasi gracze zarabiali pieniądze. Po prostu ustaw zmienną kwotę transakcji i użyj zachowania On, aby uruchomić nasz Pakiet Zachowań zarabiania, dzięki czemu dodamy do pieniędzy użytkownika.
Co dalej?
Jak dotąd stworzyliśmy system transakcyjny, w którym nasi gracze mają pieniądze i mogą z nich korzystać, żeby dokonywać zakupów. Nasz system transakcyjny daje również możliwość graczowi zarabiania pieniędzy. System transakcyjny trwa również pieniądze, aby gracz mógł opuścić aplikację i wrócić do niej później, wciąż mając tę samą kwotę pieniędzy.
W następnym samouczku omówimy zakup przedmiotów dla naszych graczy i upewnimy się, że ich przedmioty również pozostaną zachowane.

