• 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

0 głosów
65 wizyt
pytanie zadane 18 stycznia w Offtop przez Hexan Początkujący (330 p.)
zamknięte 24 stycznia 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 przez MsMaciek123 Stary wyjadacz (13,450 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 przez Zaglowiec Mądrala (7,120 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 przez Hexan Początkujący (330 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 przez MsMaciek123 Stary wyjadacz (13,450 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
0 odpowiedzi 19 wizyt
pytanie zadane 5 dni temu w C# i .NET przez Pankracor Początkujący (460 p.)
0 głosów
0 odpowiedzi 249 wizyt
pytanie zadane 17 maja 2016 w Offtop przez Else Stary wyjadacz (10,910 p.)
0 głosów
1 odpowiedź 65 wizyt
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

60,308 zapytań

106,014 odpowiedzi

220,273 komentarzy

32,524 pasjonatów

Przeglądających: 162
Pasjonatów: 0 Gości: 162

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...