Zmiana wartości w transform.localScale.x

Zmiana wartości w transform.localScale.x
WO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
0

Cześć

Mam problem ze zrozumieniem tej części kodu:

Kopiuj
   void movingDirection(int direction)
    {
        Vector3 tempScale = transform.localScale;
        tempScale.x = direction;
        transform.localScale = tempScale;
    }

Czemu nie mogę się odnieść bezpośrednio do transform.localScale.x = 5?
Z tego co znalazłem w sieci to, transform.localScale jest właściwością a nie bezpośrednio zmienną.
Tylko czym są włąściwości w C# jak nie zmiennymi z geterami i setterami?

Jak wygląda ta konstrukcja, że nie mogę się dobrać bezpośrednio do settera transform.localScale.x?

XardasLord
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gdańsk
  • Postów: 271
1

Prywatny setter ;)

Dla przykładu dla property zdefiniowanej następująco:

Kopiuj
public string Abc { get; private set; }

nie ustawisz zmiennej z zewnątrz, jest ona tylko read-only. Nie znam szczegółów implementacji tej klasy w Unity, ale te property jest właśnie zapewne stworzone w ten sposób ;)

EDIT:
Tutaj masz wytłumaczenie -> http://answers.unity.com/answers/1361378/view.html

WO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
0
XardasLord napisał(a):

Prywatny setter ;)

Dla przykładu dla property zdefiniowanej następująco:

Kopiuj
public string Abc { get; private set; }

nie ustawisz zmiennej z zewnątrz, jest ona tylko read-only. Nie znam szczegółów implementacji tej klasy w Unity, ale te property jest właśnie zapewne stworzone w ten sposób ;)

EDIT:
Tutaj masz wytłumaczenie -> http://answers.unity.com/answers/1361378/view.html

Też znalazłem ten wpis ale nie rozumiem tego. Skoro tamta osoba sama zwraca uwagę na to, że mamy tam property to rozumiem, że jest tak jak napisałeś (prywatny setter)?
Jest tam jeszcze część ze strukturami - czemu muszę ustawiać wszystkie wartość ze struktury? Przecież normalnie mogę to robić dla jednego wybranego elementu.

XardasLord
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gdańsk
  • Postów: 271

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.