• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Skalowanie gracza w Unity 2D

Object Storage Arubacloud
0 głosów
418 wizyt
pytanie zadane 18 stycznia 2019 w Offtop przez Hexan Początkujący (430 p.)
zamknięte 24 stycznia 2019 przez Hexan
Witam od pewnego czasu bawię się w tworzenie gier 2D. Aktualnie prowadzę pracę na silniku Unity 3D. Napotkałem na problem, którego nie jestem w stanie sam rozwiązać, gdyż nie mam takich umiejętności najwidoczniej ;). Dobra przejdę do konkretów, aby nie marnować twojego czasu. Tworząc system, który ma za zadanie obracać gracza, czyli jeśli idzie w lewo to obraca jego w lewo. Oczywiście zrobiłem to za pomocą skalowania w komponencie ,,Transform''. Gracz obraca się, lecz zmienia też pozycję x gracza (z początku planszy do końca) i jeśli przycisnę klawisz odpowiadający za ruszenie się gracza w drugą stronę to gracz się obraca jednocześnie znowu się teleportując, tylko z końca na początek planszy. Dodam coś jeszcze, bo może być to istotne. W tym moim jakby ,,Projekcie", stosuję animację płynną, czyli poruszam danymi częściami ciała gracza (bardziej bohatera, ale to nie jest ważne). No i do jakby GameObjectu przypisuję te części ciała gracza, żeby wszystkie się poruszały razem z nim. Wcześniej kiedy robiłem animacje poklatkowe, to mi się to nigdy nie przytrafiło, więc dodałem to, aby ułatwić pomoc i zaoszczędzić troszkę czasu innych, więc dzięki ci, że udało ci się przebrnąć przez to, jeśli mi nie zdołałeś pomóc przynajmniej się starałeś, więc jeszcze raz wielkie dzięki.
komentarz zamknięcia: Rozwiązanie problemu ;)

3 odpowiedzi

+1 głos
odpowiedź 18 stycznia 2019 przez MsMaciek123 Pasjonat (24,760 p.)
Nie zabardzo zrozumiałem twoje pytanie.

Czyli przy obracaniu obiektu, twoja tekstura zmienia także pozycje x tak?

Sprawdź czy środek postaci jest tam gdzie powinien być.
+1 głos
odpowiedź 18 stycznia 2019 przez Zaglowiec Dyskutant (9,200 p.)

Witam

Nie wiem ja wygląda twój skrypt, który jest odpowiedzialny za poruszanie się, ani jakich komponentów używasz, dlatego pomoc będzie ciężka (nie napisałeś nawet jakiego języka używasz).

Ja z reguły do obracania postaci używam takiego sposobu:

if(GetComponent<Rigidbody2D>().velocity.x > 0)
	transform.localScale = new Vector3(1f, 1f, 1f);
else if(GetComponent<Rigidbody2D>().velocity.x < 0)
	transform.localScale = new Vector3(-1f, 1f, 1f);

Żeby to zadziałało postać musi mieć dodany komponent 'Rigidbody2D'

Jeśli taki kod nie pasuje do twoje skryptu, albo masz inną wizję, to pisz i pokaż swój kod

Pozdrawiam

0 głosów
odpowiedź 24 stycznia 2019 przez Hexan Początkujący (430 p.)
Dzięki, sam poradziłem sobie tamtym razem z tym problemem. A i powiem jak doszedłem do tego. No stworzyłem GameObject'a i tam wsadziłem wszystkie części ciała jakby, jako dzieci obiektu, a w skrypcie zmieniałem skalowanie, tego gameObject'a. Właśnie to powodowało teleportację w pozycji X, więc wyrzuciłem wszystkie części ciała z tego gameObject'u i umieściłem to w jednej z części ciała (Ja np. umieściłem to w głowie) oraz w skrypcie zmieniałem skalowanie głowy i wszystko działało dzieci głowy, czyli obiekty tworzące ciało bohatera odwracały się w innym kierunku. Z góry przepraszam jeśli niezrozumiale tłumaczę, ale sam się dopiero uczę i najwidoczniej nie mam takich zdolności ;)
komentarz 25 stycznia 2019 przez MsMaciek123 Pasjonat (24,760 p.)
To że w angielskim nazywa się "child" to nie mówi się dziecko w programowaniu ... Tylko pod obiekt. Bo wiesz... Powiedziałbys że dzieckiem nóg są stopy? Albo że głowa ma dzieci?

Podobne pytania

0 głosów
1 odpowiedź 527 wizyt
pytanie zadane 10 października 2020 w C# przez PanPrezes Obywatel (1,520 p.)
0 głosów
0 odpowiedzi 212 wizyt
pytanie zadane 15 lutego 2019 w C# przez niezalogowany
0 głosów
1 odpowiedź 558 wizyt
pytanie zadane 20 stycznia 2020 w C# przez Hexan Początkujący (430 p.)

92,537 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...