Discuss Scratch
- Discussion Forums
- » Polski
- » spadanie z platformy
- profmin
- New Scratcher
1 post
spadanie z platformy
Potrzebuje pomocy. nie umiem zrobić tak by mój duszek opuszczając platformę spadał. jak ją opuszcza to po prostu lata, bo jak próbuję zrobić trzeci
program dzięki któremu duszek będzie spadał to ten program nie działa. to wygląda tak:
program dzięki któremu duszek będzie spadał to ten program nie działa. to wygląda tak:
kiedy kliknięto zieloną flagę
zawsze
jeżeli <> to
powtarzaj aż <>
zmień y o ()
end
- kuba5509
- Scratcher
100+ posts
spadanie z platformy
Według mnie powinieneś zrobić coś takiego:
To powinno zadziałać. Skrypt wykrywa, czy duszek dotyka specyficznego koloru. Jeżeli nie dotyka, duszek porusza się w dół w między czasie przyspieszając, do momentu aż dotyka wybranego koloru.
kiedy kliknięto zieloną flagę
ustaw [moja zmienna v] na [0]
zawsze
jeżeli <nie <dotyka koloru [#ff0000] ?>> to
powtarzaj aż <dotyka koloru [#ff0000] ?>
zmień y o ((3) + (moja zmienna))
zmień [moja zmienna v] o (0.3)
end
ustaw [moja zmienna v] na [0]
end
end
To powinno zadziałać. Skrypt wykrywa, czy duszek dotyka specyficznego koloru. Jeżeli nie dotyka, duszek porusza się w dół w między czasie przyspieszając, do momentu aż dotyka wybranego koloru.
Jeżeli [ktoś nie przestrzega zasad forum v] ::events hat
powiedz [Nie] ::looks
ZOBACZ NA MÓJ PROFIL!
- Opisek
- Scratcher
1000+ posts
spadanie z platformy
Są w tym aczkolwiek dwa problemy:
1. Jest możliwe, że duszek spada tak szybko, że teleportuje się przez platformę.
2. Jest możliwe, że duszek wpadnie glęboko w środek platformy.
Zamiast więc zmieniać zmienną y o duże ilości, możemy zmianiać ją tylko 1 piksel na raz, żeby nie przelecieć przez jakąś platformę.
Żeby zachować wizualną “prędkość” spadania, można użyć własnego bloczka bez odświeżania ekranu:
Duże skoki zastępujemy teraz naszym nowym bloczkiem:
Teraz duszek zawsze się zatrzyma na samym górze platformy.
Bardzo ważne jest, żeby przy tworzeniu tego własniego bloczku zaznaczyć “bez odświeżania ekranu”.
1. Jest możliwe, że duszek spada tak szybko, że teleportuje się przez platformę.
2. Jest możliwe, że duszek wpadnie glęboko w środek platformy.
Zamiast więc zmieniać zmienną y o duże ilości, możemy zmianiać ją tylko 1 piksel na raz, żeby nie przelecieć przez jakąś platformę.
Żeby zachować wizualną “prędkość” spadania, można użyć własnego bloczka bez odświeżania ekranu:
definiuj zmień y o (ilość) do następnej platformy
powtórz (zaokrąglij (ilość)) razy
jeżeli <nie <dotyka koloru [#ff0000] ?>> to
zmień y o ((zaokrąglij (ilość)) / ([wartość bezwzględna v] z (zaokrąglij (ilość))))
end
end
Duże skoki zastępujemy teraz naszym nowym bloczkiem:
kiedy kliknięto zieloną flagę
zawsze
jeżeli <nie <dotyka koloru [#ff0000] ?>> to
ustaw [spadanie v] na [0]
powtarzaj aż <dotyka koloru [#ff0000] ?> // spadaj w dół do platformy
zmień [spadanie v] o (-0.3)
zmień y o (spadanie) do następnej platformy::custom stack
end
end
end
Teraz duszek zawsze się zatrzyma na samym górze platformy.
Bardzo ważne jest, żeby przy tworzeniu tego własniego bloczku zaznaczyć “bez odświeżania ekranu”.
Last edited by Opisek (Sept. 23, 2024 12:46:24)
- AndrzejL1
- Scratcher
100+ posts
spadanie z platformy
Nie wiem czy to ma sens, ale jak człowiek skacze platformach to widzi te platformy. A gdyby tak duszkowi powiedzieć na początku, gdzie jest ta platforma? Wtedy nie musiałby ciągle sprawdzać kolorów, bo znając swoją pozycję i współrzędne “gruntu” wiedziałby czy ma spadać czy nie i to z dowolną prędkością.
say [Łatwiej zrobić projekt, niż wymyślić jak ma wyglądać podpis]
- Opisek
- Scratcher
1000+ posts
spadanie z platformy
Jasne, to też jest możliwe, ale budowanie poziomów staje się bardziej skomplikowane, szczególnie jeżeli platformy wizualnie to dalej osobne duszki, ponieważ współrzędne muszą się zgadzać ze sobą idealnie.
Co ma więcej sensu, to generowanie/rysowanie platform na bazie tych samych koordynatów, które duszek używa, żeby sprawdzić jak daleko musi spadać.
Jeden zaawansowany problem który się pojawia, to jak szybko sprawdzać platformy pod duszkiem, jeżeli mamy ich bardzo dużo w kilku listach. Do tego przydałaby się dwuwymiarowa hash-mapa. Nie martwiłbym się jednak tym problemem w małych projektach. Jeśli zagadniene o hash-mapach brzmy interesująco, to wypuszczę może jeszczy w tym roku projekt edukacyjny o tych strukturach danych
Co ma więcej sensu, to generowanie/rysowanie platform na bazie tych samych koordynatów, które duszek używa, żeby sprawdzić jak daleko musi spadać.
Jeden zaawansowany problem który się pojawia, to jak szybko sprawdzać platformy pod duszkiem, jeżeli mamy ich bardzo dużo w kilku listach. Do tego przydałaby się dwuwymiarowa hash-mapa. Nie martwiłbym się jednak tym problemem w małych projektach. Jeśli zagadniene o hash-mapach brzmy interesująco, to wypuszczę może jeszczy w tym roku projekt edukacyjny o tych strukturach danych
- Discussion Forums
- » Polski
- » spadanie z platformy