1

Тема: Як краще реалізувати плеєра на юніті?

Доброго дня.
Я новачок, вчуся робити ігри на юніті.

Мені, приміром, треба реалізувати плеєра,т.є. об'єкт, яким керує сама людина. Цей об'єкт один на сцені, але є різні його варіанти в префабах.(щоб, наприклад, ви могли поміняти його десь в головному меню, і він мав іншу швидкість, або виглядав інакше). До недавнього часу я робив так:

public class Player: MonoBehavior
{
    [Serialised Field] private _speed;
    // це щоб можна було змінювати значення швидкості з інспектора
    public static speed; 
}
private void Start ()
{
    speed = _speed;
}

Так я вішав скрипт на різні префаби і робив різну швидкість. Статичне поле треба було мені щоб з різних скриптів звертатися до змінної без посилання на об'єкт.

Нещодавно дізнався про сінгелтон, але всі кажуть що це не найкращий варіант, особливо якщо цих сінгелтонів буде багато(типу ще якщо буде скрипт геймменеджер, і ще якісь менеджери) .
А про кращий варіант для цього ніхто не розповідав:(.
Може ви розкажете, або порадите де можна знайти інформацію про те як зробити все правильно, і як роблять це більш професійні розробники ніж я?

Заздалегідь дякую.

2

Re: Як краще реалізувати плеєра на юніті?

Вибачайте, писав с телефону, забув тип змінній вказати

3

Re: Як краще реалізувати плеєра на юніті?

Передавайте в різні скрипти посилання на об'єкт.
Як саме? Залежить від структури вашого проєкту, єдиної відповіді тут немає.

4

Re: Як краще реалізувати плеєра на юніті?

Чи пробували ви використовувати PlayerPrefs?
Для вашого випадку зі зміною скіна для персонажа має бути цілком достатньо.

Подякували: leofun011

5

Re: Як краще реалізувати плеєра на юніті?

koala написав:

Передавайте в різні скрипти посилання на об'єкт.
Як саме? Залежить від структури вашого проєкту, єдиної відповіді тут немає.

Якщо ви маєте на увазі кожний раз перетягувати посилання через інспектор, то це не зручно буде, особливо коли об'єктам що потребують доступ до плеєра стане багато. Єдиної відповіді  нема, але те як то роблю то погано

6

Re: Як краще реалізувати плеєра на юніті?

danaroz1234 написав:

Доброго дня.
Я новачок, вчуся робити ігри на юніті.
Нещодавно дізнався про сінгелтон, але всі кажуть що це не найкращий варіант, особливо якщо цих сінгелтонів буде багато(типу ще якщо буде скрипт геймменеджер, і ще якісь менеджери) .
А про кращий варіант для цього ніхто не розповідав:(.
Може ви розкажете, або порадите де можна знайти інформацію про те як зробити все правильно, і як роблять це більш професійні розробники ніж я?
Заздалегідь дякую.

Та не слухайте ви нікого - поки вчитеся, робіть так, як вам буде зручно. Скільки людей - стільки й думок, і так геть у всьому в житті.. А стосовно того, про що питаєте: тут тільки вичитися глибше програмуванню можна порадити, бо з такими базовими знаннями, як у вас, нормально все одно не вийде.. Але не забувайте: не виходить нічого тільки в тих, хто нічого й не робить!