Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 04.11.2020
Сообщений: 220

Vector2 можно сериализовать?

19.03.2021, 17:41. Показов 996. Ответов 4

Студворк — интернет-сервис помощи студентам
Можно ли сериализовать Vector2 в json?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.03.2021, 17:41
Ответы с готовыми решениями:

Можно ли сделать, чтобы скорость движения от Vector2.Lerp(); постепенно увеличивалась, а не наоборот?
Всем привет, есть ли возможность сделать чтобы скорость движения от Vector2.Lerp(); постепенно увеличивалась, а не на оборот?

Vector2.lerp
Есть первый скрипт using System.Collections; using System.Collections.Generic; using UnityEngine; public class transition :...

error: cannot bind non-const lvalue reference of type 'Vector2&' to an rvalue of type 'Vector2'
Вот код: #include <iostream> class Vector2 { public: Vector2(double, double); ~Vector2(); void...

4
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
19.03.2021, 17:54
Цитата Сообщение от Maksim1307 Посмотреть сообщение
Можно ли сериализовать Vector2 в json?
Непосредственно - нельзя.

Нужно либо использовать классы-обертки (то есть фактически самодельный Vector2), либо использовать JsonConverter.
Во втором случае, нужно создать класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Vec2Conv : JsonConverter
{
    public override bool CanConvert(Type objectType)
    {
        if (objectType == typeof(Vector2))
        {
            return true;
        }
        return false;
    }
 
    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        var t = serializer.Deserialize(reader);
        var iv = JsonConvert.DeserializeObject<Vector2>(t.ToString());
        return iv;
    }
 
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        Vector2 v = (Vector2)value;
 
        writer.WriteStartObject();
        writer.WritePropertyName("x");
        writer.WriteValue(v.x);
        writer.WritePropertyName("y");
        writer.WriteValue(v.y);
        writer.WriteEndObject();
    }
}
И затем пометить ваши поля следующим образом:
C#
1
2
    [JsonConverter(typeof(Vec2Conv))]
    public Vector2 point { get; set; }
0
2 / 2 / 0
Регистрация: 04.11.2020
Сообщений: 220
19.03.2021, 18:01  [ТС]
Какой из этих способов работает быстрее?
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
19.03.2021, 18:41
Цитата Сообщение от Maksim1307 Посмотреть сообщение
Какой из этих способов работает быстрее?
В контексте json это не важно. Если вам нужна скорость - json не ваш выбор.
0
2 / 2 / 0
Регистрация: 04.11.2020
Сообщений: 220
19.03.2021, 20:38  [ТС]
Что тогда использовать? Есть ли разница между этими алгоритмами сериализации в плане поддерживаемых типов данных?

Добавлено через 1 час 53 минуты
Цитата Сообщение от Storm23 Посмотреть сообщение
Во втором случае, нужно создать класс:
Как сделать то же самое, только для XML? Насколько я понял, он достаточно быстрый и нужно использовать его
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2021, 20:38
Помогаю со студенческими работами здесь

Можно ли сериализовать ObjectContext
Я пишу N-tier приложение, можно ли сериализовать ObjectContext?

Можно ли сериализовать в консоли, а десериализовать в ASP.NET
Доброго времени суток, уважаемый форум! Пишу я на C# давно (относительно, я на 4 курсе всего), в основном WinForms, но в последнее...

Как можно сериализовать анимацию (Gif например)
Кто знает , как можно сериализовать анимацию ( Gif например ) и десериализовать , что б анимация осталась?

Как можно сериализовать список сборок в файл?
Есть проект. На этапе его создания к нему подключаются определенные библиотеки dll. В итоге имеем список сборок, которые подключены к...

Какие объекты можно сериализовать и десериализовать в XML / JSON?
Здравствуйте. Как можно определять какие объекты можно серилизовать и десирилизовать в XML или JSON формат. Знаю точно что такие типы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru