Среда, 27 Ноября 2024, 01:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Где храняться данные
DemonatorДата: Понедельник, 23 Января 2017, 22:32 | Сообщение # 1
уже был
Сейчас нет на сайте
Откуда скрипты Юнити могут брать данные для вычислений , у меня есть игра в которой написан скрипт создания автомобиля но в нем фигурирует только одни показатели мощности количества передач и прочего но в игре машин 5 и у каждой они свои но других данных в скрипте нет значит он берет их откуда то в другом месте , где обычно могут брать информацию скрипты ?
MysticPurpleДата: Понедельник, 23 Января 2017, 23:04 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Немножко не понял вопрос. Я так понял, что есть скрипт, что-то вроде:
Код

public class MyScript : MonoBehaviour
{
public int moshnost = 100; // мощность
public int kolvoPeredach = 200; // кол-во передач
и т д.
}

Если на сцене расположено несколько объектов с этим скриптом, то у каждого экземпляра скрипта могут быть свои значения этих переменных moshnost, kolvoPeredach
Если что-то неправильно понял, то извиняй, объясни вопрос конкретнее, идеально было бы с примером :)
Jlovenpk1Дата: Понедельник, 23 Января 2017, 23:22 | Сообщение # 3
участник
Сейчас нет на сайте
Demonator, Информация для данных о характеристиках игровых объектов в твоем случае машин могут храниться в разных местах.
Если игра твоя, то и выбор хранения конфига для игровых объектах выбирается тобой.
В былые времена, такие конфиги я находил в Lineage 2 в формате xml(для оружий и доспехов).

MysticPurple, Правильно дал тебе наводку где искать данные о характеристиках игровых объектах.

т.е у тебя есть 5 машин.

1 Порше - мощность 220 лошадей 5 передач.
2 БМВ - мощность 220 лошадей 5 передач.
3 Лексус - мощность 240 лошадей 5 передач.
4 Лада приора - мощность 200 лошадей 4 передачи.
5 Лада X-ray - мощность 210 лошадей 5 передач.

Скрипты на машинах лежат одинаковые, а от показателей мощности зависит и скорость передвижения твоих машин.
Все вычисления происходят внутри скрипта.
Данные о мощности и передача могут храниться:
- В xml файле, из которого все берется.
- В текстовом файле O.o что тоже реально, наверное :DD
- В базе данных - О.о

Или же прописываться вручную, т.е
Код
public int power = 220;
public int peredacha = 5;

Или же можно так:
Код
public int power = 0;
public int peredacha = 0;

Добавляем скрипт на машину и вручную руками вбиваем данные для будущего расчета.

Расчет может происходить так:
Код

public int power = 220;
public int peredacha = 5;

public void CarSpeed()
{
  int CarSpeed = 0;
if (peredacha == 1)
{
CarSpeed = power /3.4f;
}
if (peredacha == 2)
{
CarSpeed = power/3.0f;
}
}

И т.д

Метод ветвления не самый лучший, но в качестве примера подойдет.

Объяснил в силу того, как понял твой вопрос.


DjanStudio

Сообщение отредактировал Jlovenpk1 - Понедельник, 23 Января 2017, 23:24
DemonatorДата: Вторник, 24 Января 2017, 19:45 | Сообщение # 4
уже был
Сейчас нет на сайте
Цитата MysticPurple ()
Немножко не понял вопрос. Я так понял, что есть скрипт, что-то вроде:
Код

public class MyScript : MonoBehaviour
{
public int moshnost = 100; // мощность
public int kolvoPeredach = 200; // кол-во передач
и т д.
}

Если на сцене расположено несколько объектов с этим скриптом, то у каждого экземпляра скрипта могут быть свои значения этих переменных moshnost, kolvoPeredach
Если что-то неправильно понял, то извиняй, объясни вопрос конкретнее, идеально было бы с примером


Есть такая игра My summer car в ней 5 машин а в скриптах мы нашли указанные мощности только для одной ,
Код

[RequireComponent(typeof(Axles))]
public class Drivetrain : MonoBehaviour
{
    public enum Transmissions
    {
  RWD,
  FWD,
  AWD,
  XWD
    }

    [HideInInspector]
    public bool engineTorqueFromFile;

    [HideInInspector]
    public int torqueRPMValuesLen;

    [HideInInspector]
    public float[,] torqueRPMValues = new float[0, 0];

    [HideInInspector]
    public Clutch clutch;

    [HideInInspector]
    public CarController carController;

    private Setup setup;

    private Axles axles;

    [HideInInspector]
    public FuelTank[] fuelTanks;

    private Rigidbody body;

    private Transform myTransform;

    [HideInInspector]
    public Wheel[] poweredWheels;

    public float maxPower = 210f;

    public float maxPowerRPM = 5000f;

    public float maxTorque = 360f;

    public float maxTorqueRPM = 2500f;

    [HideInInspector]
    public float originalMaxPower = 210f;

    [HideInInspector]
    public float maxNetPower;

это не весь код но больше негде не повторяются какие либо значения похожие на характеристики авто
MysticPurpleДата: Вторник, 24 Января 2017, 20:10 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Demonator, Теперь кажется понял :)
Значения переменных в этом скрипте - это значения по-умолчанию. Если создать в редакторе юнити в сцене какой-то объект и добавить на него этот скрипт - у этого добавленного скрипта значения переменных будут равны этим значениям по-умолчанию. НО! В редакторе Юнити эти значения можно менять отдельно для каждого экземпляра скрипта. Например, можно создать на сцене 3 объекта, каждому добавить этот скрипт и сделать, чтоб у 1 объекта maxPower было 20, у второго - 30, а у третьего - 180.

То есть, "реальные" значения для каждой машины могут быть либо у объектов на сцене, либо в префабах (префаб - это типа объект со скриптами и их настройками, сохраненный в отдельный файл)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг