Как сделать выбор персонажа?
У меня есть сцена в которой можно выбрать персонажа, открываются они за рекорды. К примеру у тебя рекорд времени в игре 25 секунд и тогда откроется персонаж который открывается при 25 секундах. Пока персонаж не открыт, он имеет черный цвет (типа он еще не открыт) Происходит это так
using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class IsEnabled : MonoBehaviour < public int NeedToUnlock; public Color NewColor; SpriteRenderer SpriteR; public Sprite Pink_Monster; public SpriteRenderer PinkMonster; void Start() < if (PlayerPrefs.GetInt("SaveScore") < NeedToUnlock) < GetComponent().color = Color.black; > >
В игре это выглядит так Мне нужно чтобы при нажатии на кнопку «Выбрать» и тогда в игре будет персонаж которого ты выбрал. К примеру я выбрал белого персонажа и в игре он появился (игра находиться на другой сцене). Объясните как это сделать?
Как сделать выбор персонажа?
У меня есть сцена в которой можно выбрать персонажа, открываются они за рекорды. К примеру у тебя рекорд времени в игре 25 секунд и тогда откроется персонаж который открывается при 25 секундах. Пока персонаж не открыт, он имеет черный цвет (типа он еще не открыт) Происходит это так
using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class IsEnabled : MonoBehaviour < public int NeedToUnlock; public Color NewColor; SpriteRenderer SpriteR; public Sprite Pink_Monster; public SpriteRenderer PinkMonster; void Start() < if (PlayerPrefs.GetInt("SaveScore") < NeedToUnlock) < GetComponent().color = Color.black; > >
В игре это выглядит так
Мне нужно чтобы при нажатии на кнопку «Выбрать» и тогда в игре будет персонаж которого ты выбрал. К примеру я выбрал белого персонажа и в игре он появился (игра находиться на другой сцене). Объясните как это сделать?
- Вопрос задан более трёх лет назад
- 428 просмотров
Как сделать выбор персонажа в Unity
Привет, друзья! В новом уроке по Unity и программированию на C# мы возьмемся за 2D-персонажей для Unity. Мы научим вас добавлять выбор персонажа в игры. В нашем случае 2D-персонажами для Юнити станут супергерои: в самом начале игры вы сможете решить, хотите вы играть на Капитана Америку или Железного человека. Давайте начинать!
Для этого урока нам потребуется спрайты (фон, два спрайта персонажа). Вы можете скачать их по ссылке.
Создаем пустой объект, добавляем на него компонент sprite Renderer и оставляем его пустым. Создаем канвас (Canvas), на нем панель, добавляем фон на панель в компонент Image. На панели создаем кнопку, настраиваем ее размер, удаляем текст с кнопки, дублируем кнопку и меняем на другой спрайт персонажа. Можем добавить текст на панель “Выбери персонажа”.
Далее создаем скрипт. Открываем и в нем объявляем две переменные:
- panelChatacter — панель выбора персонажа.
- count — какой спрайт персонажа будет.
Создаем функцию для первого персонажа CharacterOne. Если нажали на первую кнопку, то в count записываем 1.
Создаем функцию для второго персонажа CharacterTwo. Если нажали на второю кнопку, то в count записываем 2.
И как мы видели выше, идет вызов функции ResultCharacter. В ней мы проверяем, чему равен count, и подгружаем спрайт, который соответствует спрайту на кнопке, и скрываем панель.
Переходим в Юнити. В коде у нас прописано, что мы будем грузить из папки Resources, — это стандартный метод Юнити. Чтобы все работало, нам нужно создать папку Resources, в нее перемещаем спрайты персонажей. В кавычках пишем название спрайтов.
Перемещаем скрипт на персонажа и в инспектор добавляем панель.
Переходим на кнопки и в инспекторе назначаем функции. Нажимаем на плюс, в пустое окно перемещаем главного персонажа и выбираем функцию, которая подгружает нужный спрайт.
Запускаем и проверяем.
Если вы хотите научиться делать сложные многоуровневые 2D- и 3D-игры на Юнити, приходите на полный курс по Unity и С# в школу «Пиксель»! Там мы расскажем подробнее, как программировать в Юнити управление персонажем, как писать скрипт для движения персонажа, делать анимацию персонажа в Unity 2D и Unity 3D, учить его прыгать и многое другое.
Полный скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterManager : MonoBehaviour
public GameObject panelCharacter;
public int count;
public void CharacterOne()
count = 1;
ResultCharacter();
>
public void CharacterTwo()
count = 2;
ResultCharacter();
>
public void ResultCharacter()
if (count == 1)
gameObject.GetComponent().sprite = Resources.Load(«superhero1»);
>
if (count == 2)
gameObject.GetComponent().sprite = Resources.Load(«superhero»);
Как сделать выбор персонажа в unity
kirill009943 23 ноя 2017, 21:48
Помогите, делаю игру гонки, не знаю как сделать чтобы в главном меню было можно выбрать машину и чтобы она появилась на другой сцене.
kirill009943 UNец Сообщения: 11 Зарегистрирован: 05 авг 2017, 19:42
Re: Как сделать выбор персонажа?
Anonymyx 24 ноя 2017, 16:02
Сделать static переменную int, в меню присвоить ему номер выбранного персонажа, а в другой сцене спавнить персонаж с этим номером.
Т.е. у каждого персонажа должен быть какой-то индекс int.