Gra platformowa (wersja z grawitacją): Różnice pomiędzy wersjami

Z Wiki Mistrzowie Kodowania
Skocz do: nawigacji, wyszukiwania
(Informacje)
(Poruszanie się)
 
(Nie pokazano 14 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 8: Linia 8:
 
Poziom trudności i proponowane wersje:
 
Poziom trudności i proponowane wersje:
  
* dla klas 4-6 ✪✪✰✰ na przykładzie projektu [http://scratch.mit.edu/projects/25519338/ Gra platofrmowa]
+
* dla klas 4-6 ✪✪✰✰ przejdź do strony [[Gra platformowa]]na przykładzie projektu [http://scratch.mit.edu/projects/25519338/ Gra platofrmowa]
* dla Gimnazjum ✪✪✰✰ przejdź do strony [[Gra platformowa (wersja z grawitacją) ]] na przykładzie projektu [http://scratch.mit.edu/projects/26070394/ Gra platformowa (wersja z grawitacją)]
+
* dla Gimnazjum ✪✪✰✰ rozwinięcie scenariusza [[Gra platformowa]], na przykładzie projektu [http://scratch.mit.edu/projects/26070394/ Gra platformowa (wersja z przewijanym tłem)]
  
 
== Etapy ==
 
== Etapy ==
Scenariusz dla klas gimnazjalnych zawiera rozszerzenie projektu [[Gra platformowa]] między innymi o efekt grawitacji. Postać poruszająca się po planszy, docierając do jej skraju, spada. W tej wersji, postać Bohatera posiada możliwość wykonywania wyższych skoków. Dodatkowo wprowadzona zostanie druga poruszająca się horyzontalnie plansza.
+
Scenariusz dla klas gimnazjalnych zawiera rozszerzenie projektu [[Gra platformowa]]. Postać poruszająca się po planszy, docierając do jej skraju, spada. W tej wersji, postać Bohatera posiada możliwość wykonywania wyższych skoków. Dodatkowo wprowadzona zostanie druga poruszająca się horyzontalnie plansza.
  
 
===Projekt podstawowy===
 
===Projekt podstawowy===
 
Pierwszym etapem jest zrealizowanie podstawowego projektu dostępnego na stronie [[Gra platformowa]]
 
Pierwszym etapem jest zrealizowanie podstawowego projektu dostępnego na stronie [[Gra platformowa]]
 +
 +
Względem pierwszego projektu wprowadzone zostały zmiany:
  
 
===Druga plansza===
 
===Druga plansza===
[do dopracowania: http://scratch.mit.edu/projects/25585771/)
+
Podstawowa wersja gry rozbudowana została o dodatkowe plansze:
 +
 
 +
[[Plik:Plansze.JPG]]
 +
 
 +
Duszek ''plansza2'', rozciągająca pole gry przesuwa się identycznie jak duszek ''plansza'', jednak ze zwiększeniem parametru na osi X, stąd w kodzie pojawia się zapis <+440>
 +
 
 +
[[Plik:Plansza 2.JPG]]
 +
 
 +
Dodatkowo pojawia się duszek ''plansza3'', jako góry w tle.
 +
 
 +
Kompletne skrypty dla trzech plansz:
 +
 
 +
Plansza 1.
 +
 
 +
[[Plik:Plansza 1.JPG]]
 +
 
 +
Plansza 2. będąca przedłużeniem planszy 1.
 +
 
 +
[[Plik:Plansza 2kompl.JPG]]
 +
 
 +
Plansza 3. będaca wolniej przesuwajacym się tłem (efekt głębi uzyskujemy dzięki formule [[Plik:Przewijanie na dwa.JPG]]
 +
 
 +
'''Wskazówka:''' Więcej o tworzeniu efektów głębi [http://scratch.mit.edu/projects/23719783/ Moving Background]
 +
 
 +
[[Plik:Plansza 3.JPG]]
 +
 
 +
'''Uwaga:''' w kodach plansz pojawia się opcja układania warstw, tak aby duszek ''góry'' pozostawał w dalszej warstwie niż duszki drzew, plansz i postaci Bohatera.
 +
 
 +
===Drzewa===
 +
Oddzielenie drzewek od tła teraz poruszają się niezależnie. Skrypt przesuwania jest taki sam jak dla tła, rozwinięty o opcję ukrycia duszków, gdy przesuną się do krawędzi ekranu.
 +
 
 +
[[Plik:Oddzielenie drzew.JPG]]
 +
 
 +
 
 +
===Bohater===
 +
====Poruszanie się====
 +
Dla obu kierunków zostały wprowadzone zmiany umożliwiające postaci poruszanie się w przedziale X -100 do 100 bez poruszania planszy.
 Jednocześnie aby ruch Bohatera był nieco wolniejszy i żeby wyraźniej było widać jego kroki, w kodzie zmiany kostiumu wprowadzona została opcja <czekaj> W związku z tym  zmienna <przewijanie> zmniejszona została o -20:
 +
 
 +
[[Plik:Ruchbohaterazmiany.JPG]]
 +
 
 +
Zmiana fragmentu skryptu dla ruchu w prawo:
 +
 
 +
[[Plik:Zamiana.JPG]]
 +
 
 +
'''Uwaga:''' Analogiczne zmiany wprowadzone zostały w kodzie ruchu w lewo.
 +
 
 +
====Skok i chowanie się====
 +
Do skoku i chowania się doszedł warunek dotykania obu plansz:
 +
 
 +
[[Plik:Skokitp.JPG]]
 +
 
 +
====Pozycja====
 +
Aby uniknąć sytuacji 'zapadania się' postaci w planszy, wprowadzona zostąła poprawka w kodzie:
  
===Grawitacja===
+
[[Plik:Wplanszy.JPG]]
Na potrzeby tego projektu, w bloku Dane stworzona została zmienna ''Grawitacja''.  
+
  
[[Plik:Grawitacja.png]]
+
===Super Jabłko===
 +
Zmianie uległ skrypt duszka 'Super Jabłko'. Przesuwanie jest analogiczne do ruchu plansz, przy czym wprowadzony został parametr losowości (przy starcie i po każdym zebranym jabłku)
 +
 +
[[Plik:Jabłko uzupelnienie.JPG]]
  
Siła grawitacji ma być przeciwną do siły odbicia postaci od podłoża, tym samym ma powodować, że postać Bohatera będzie spadała w dół ekranu. Elementem zatrzymującym postać będzie plansza, jako podłoże.
+
Modyfikacja skrytpu sprawdzania dotknięcia i losowania pozycji jabłka:
W momencie gdy postać Bohatera dotyka planszy, wartość zmiennej ''Grawitacja'' ma wartość równą 0. Każde odbicie od planszy (skok) wykonane jest poprzez zmianę wartości Y o przypisana wielkość i jednocześnie powoduję modyfikację zmiennej Grawitacja do wyznaczonej wartości, większej niż wartość Y. Dodatkowo wprowadzony zostaje warunek, że postać wykonująca skok w górę, opada tak długo aż dotknie planszy, sukcesywnie pomniejszając wartość Y o wartość zmiennej Grawitacja.
+
*jabłko pozostaje na planszy do momentu dotknięcia przez Bohatera (nie chowa po jakimś czasie, jeżeli gracz go nie złapał)
 +
*opcja zliczania punktów, dodanie zmiennej <punkty> dostępnej wszystkim duszkom. Przy dotknięciu jabłka zmienia się o 1.
 +
Finalny skrypt jabłka:
  
[[Plik:Grawitacja skrypt.png]]
+
[[Plik:Jabłko calu.JPG]]
  
 +
Jednocześnie wprowadzona została zmiana sygnału PowerUp w skrypcie postaci Bohatera - powiększenie o 50% wielkości Bohatera po zebraniu 5 punktów (Super Jabłka)
  
==Dodatki==
+
[[Plik:Powerup gim.JPG]]
Wprowadzenie efektu odbicia od podłoża zgodnie z zasadą zachowania energii kinetycznej oraz spadania z przyśpieszeniem ziemskim.
+

Aktualna wersja na dzień 14:18, 1 wrz 2014

Materiały stworzone w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska

Cele

Celem jest stworzenie gry platformowej w wersji z przewijanym tłem oraz efektem grawitacji.

Informacje

Poziom trudności i proponowane wersje:

Etapy

Scenariusz dla klas gimnazjalnych zawiera rozszerzenie projektu Gra platformowa. Postać poruszająca się po planszy, docierając do jej skraju, spada. W tej wersji, postać Bohatera posiada możliwość wykonywania wyższych skoków. Dodatkowo wprowadzona zostanie druga poruszająca się horyzontalnie plansza.

Projekt podstawowy

Pierwszym etapem jest zrealizowanie podstawowego projektu dostępnego na stronie Gra platformowa

Względem pierwszego projektu wprowadzone zostały zmiany:

Druga plansza

Podstawowa wersja gry rozbudowana została o dodatkowe plansze:

Plansze.JPG

Duszek plansza2, rozciągająca pole gry przesuwa się identycznie jak duszek plansza, jednak ze zwiększeniem parametru na osi X, stąd w kodzie pojawia się zapis <+440>

Plansza 2.JPG

Dodatkowo pojawia się duszek plansza3, jako góry w tle.

Kompletne skrypty dla trzech plansz:

Plansza 1.

Plansza 1.JPG

Plansza 2. będąca przedłużeniem planszy 1.

Plansza 2kompl.JPG

Plansza 3. będaca wolniej przesuwajacym się tłem (efekt głębi uzyskujemy dzięki formule Przewijanie na dwa.JPG

Wskazówka: Więcej o tworzeniu efektów głębi Moving Background

Plansza 3.JPG

Uwaga: w kodach plansz pojawia się opcja układania warstw, tak aby duszek góry pozostawał w dalszej warstwie niż duszki drzew, plansz i postaci Bohatera.

Drzewa

Oddzielenie drzewek od tła teraz poruszają się niezależnie. Skrypt przesuwania jest taki sam jak dla tła, rozwinięty o opcję ukrycia duszków, gdy przesuną się do krawędzi ekranu.

Oddzielenie drzew.JPG


Bohater

Poruszanie się

Dla obu kierunków zostały wprowadzone zmiany umożliwiające postaci poruszanie się w przedziale X -100 do 100 bez poruszania planszy.
 Jednocześnie aby ruch Bohatera był nieco wolniejszy i żeby wyraźniej było widać jego kroki, w kodzie zmiany kostiumu wprowadzona została opcja <czekaj> W związku z tym zmienna <przewijanie> zmniejszona została o -20:

Ruchbohaterazmiany.JPG

Zmiana fragmentu skryptu dla ruchu w prawo:

Zamiana.JPG

Uwaga: Analogiczne zmiany wprowadzone zostały w kodzie ruchu w lewo.

Skok i chowanie się

Do skoku i chowania się doszedł warunek dotykania obu plansz:

Skokitp.JPG

Pozycja

Aby uniknąć sytuacji 'zapadania się' postaci w planszy, wprowadzona zostąła poprawka w kodzie:

Wplanszy.JPG

Super Jabłko

Zmianie uległ skrypt duszka 'Super Jabłko'. Przesuwanie jest analogiczne do ruchu plansz, przy czym wprowadzony został parametr losowości (przy starcie i po każdym zebranym jabłku)

Jabłko uzupelnienie.JPG

Modyfikacja skrytpu sprawdzania dotknięcia i losowania pozycji jabłka:

  • jabłko pozostaje na planszy do momentu dotknięcia przez Bohatera (nie chowa po jakimś czasie, jeżeli gracz go nie złapał)
  • opcja zliczania punktów, dodanie zmiennej <punkty> dostępnej wszystkim duszkom. Przy dotknięciu jabłka zmienia się o 1.


Finalny skrypt jabłka:

Jabłko calu.JPG

Jednocześnie wprowadzona została zmiana sygnału PowerUp w skrypcie postaci Bohatera - powiększenie o 50% wielkości Bohatera po zebraniu 5 punktów (Super Jabłka)

Powerup gim.JPG