Discuss Scratch

ScratcherPolska
Scratcher
8 posts

Gra "Łapanie gwiazdek" - Tutorial

Witajcie w moim drugim tutorialu! Dzisiaj zrobimy grę “Łapanie gwiazdek”.
Więc zacznijmy. Oczywiście początkiem projektu będzie klocek flaga (menu Zdarzenia)
kiedy kliknięto zieloną flagę
Następnie dołączmy klocek, który będzie kierował naszego duszka w domyślną pozycję - możemy wybrać jakąkolwiek, ja wybrałem środek planszy. Użyjmy klocka ruchu (menu Ruch).
kiedy kliknięto zieloną flagę
idź do x: (0) y: (0)
Kolejną zmianą, którą wprowadzimy w naszą grę będzie dodanie nowej zmiennej “Punkty” (menu Zmienne). Ustawimy ją na 0 przy kliknięciu zielonej flagi.
kiedy kliknięto zieloną flagę
idź do x: (0) y: (0)
ustaw [Punkty v] na (0)
Potem musimy się zdecydować na jedną rzecz, a mianowicie - jaki ruch wybieramy do naszej gry? Możemy użyć płynnego ruchu lub też zwykłego ruchu. Jeżeli chcesz użyć ruchu płynnego dołącz do klocka flagi (nic nie usuwaj, przyczep do pomarańczowego klocka) kod ukazany w moim tutorialu. Resztę wytłumaczę dalej, więc czytaj.

Duszek, którego przed chwilą programowaliśmy będzie zbierał gwiazdki. Jednak, gdzie gwiazdka? W celu jej dodania otwórz bibliotekę Scratcha (duszków) i znajdź gwiazdkę. Możesz użyć słowa kluczowego star.

Więc, jeżeli chcesz użyć płynnego ruchu, doczep do naszych klocków w duszku-łapaczu kod z tutorialu, lecz w każdy warunek “jeżeli < > to” dodaj kolejny warunek, np.
jeżeli < klawisz [key v] naciśnięty? > to {
zmień x o (10)
jeżeli < dotyka [Gwiazdka v]? > {
zmień [Punkty v] o (1)
zagraj dźwięk [dźwięk przy zdobyciu punktu v]
nadaj [Losowe miejsce v]
} :: control
} :: control
Pamiętaj, aby również wybrać z biblioteki dźwiękowej krótki sygnał przy zebraniu gwiazdki.
Jeżeli nie chcesz płynnego ruchu, możesz użyć najprostszej metody ruchu - mianowicie:
kiedy klawisz [strzałka w górę v] naciśnięty
zmień y o (10)

kiedy klawisz [strzałka w dół v] naciśnięty
zmień y o (-10)

kiedy klawisz [strzałka w lewo v] naciśnięty
zmień x o (-10)

kiedy klawisz [strzałka w prawo v] naciśnięty
zmień x o (10)
Jednak każdy blok musi reagować na dotknięcie gwiazdki! W tym celu dodaj akcję, która jeżeli po kliknięciu klawisza i zmianie pozycji będzie dotykała gwiazdki, będzie zmieniała punkty o 1, nadawała sygnał do przejścia w losowe miejsce i grała melodię wcześniej wybraną z biblioteki.
kiedy klawisz [strzałka w górę v] naciśnięty
zmień y o (10)
jeżeli < dotyka [Gwiazdka v]? > {
zmień [Punkty v] o (1)
zagraj dźwięk [dźwięk przy zdobyciu punktu v]
nadaj [Losowe miejsce v]
} :: control

kiedy klawisz [strzałka w dół v] naciśnięty
zmień y o (-10)
jeżeli < dotyka [Gwiazdka v]? > {
zmień [Punkty v] o (1)
zagraj dźwięk [dźwięk przy zdobyciu punktu v]
nadaj [Losowe miejsce v]
} :: control

kiedy klawisz [strzałka w lewo v] naciśnięty
zmień x o (-10)
jeżeli < dotyka [Gwiazdka v]? > {
zmień [Punkty v] o (1)
zagraj dźwięk [dźwięk przy zdobyciu punktu v]
nadaj [Losowe miejsce v]
} :: control

kiedy klawisz [strzałka w prawo v] naciśnięty
zmień x o (10)
jeżeli < dotyka [Gwiazdka v]? > {
zmień [Punkty v] o (1)
zagraj dźwięk [dźwięk przy zdobyciu punktu v]
nadaj [Losowe miejsce v]
} :: control
Na koniec dodaj tło z biblioteki lub zrób swoje własne tło - twoja gra będzie wyglądać estetyczniej!
Jeśli chcesz, możesz wgrać do projektu muzykę (lub wybrać ją z biblioteki) i puszczać w pętli przez całą grę.
kiedy kliknięto zieloną flagę
zawsze
zagraj dźwięk [muzyka v] i czekaj
end
Jestem bardzo wdzięczny że przeczytałeś mój tutorial. Przy okazji zapraszam na moją stronę internetową.
Możesz napisać do mnie, jeżeli masz jakieś zastrzeżenia lub też chcesz mi po prostu coś powiedzieć!
Zobacz pierwszą metodę wykonania
Zobacz drugą metodę wykonania
petarda_1234
Scratcher
100+ posts

Gra "Łapanie gwiazdek" - Tutorial

Nie lepiej:
kiedy kliknięto zieloną flagę
zawsze
...
jeżeli <zbieranie gwiazdek - skrypt > to
...
end
end

Gdzie pierwsze
...
oznacza poruszanie się, a drugie
...
oznacza zbieranie gwiazd?
j_a_n_t_i
Scratcher
500+ posts

Gra "Łapanie gwiazdek" - Tutorial

Jest inny sposób, aby zaprogramować to zmniejszając ilość kodu. Zamiast w każdej strzałce dawać czujnik dotyku gwiazdki zrób to tak:
W duszku łapacz:
kiedy kliknięto zieloną flagę
zawsze
jeżeli <dotyka [gwiazdka v] ?> to
Nadaj ...
Dalszy kod
end
end
Lub, w duszku gwiazdka:
kiedy kliknięto zieloną flagę
zawsze
jeżeli <dotyka [łapaćcz v] ?> to
Co mam robić
end
end
ScratcherPolska
Scratcher
8 posts

Gra "Łapanie gwiazdek" - Tutorial

j_a_n_t_i wrote:

Jest inny sposób, aby zaprogramować to zmniejszając ilość kodu. Zamiast w każdej strzałce dawać czujnik dotyku gwiazdki zrób to tak:
W duszku łapacz:
kiedy kliknięto zieloną flagę
zawsze
jeżeli <dotyka [gwiazdka v] ?> to
Nadaj ...
Dalszy kod
end
end
Lub, w duszku gwiazdka:
kiedy kliknięto zieloną flagę
zawsze
jeżeli <dotyka [łapaćcz v] ?> to
Co mam robić
end
end
Bardzo dziękuję za sugestię! Jak tylko będę mógł edytuję mój tutorial.

Powered by DjangoBB