Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Игры со Спрайтами / Спрайт. Сериализация объекта

  • На этом уроке мы научимся сохранять и загружать объекты,
    используя технологию сериализации и десериализации.
  • Дата отправки отчёта: 26 ноября 2017 г.
  • Задание выполнено: за 1 час. 9 мин.
  • Чему научился: Научился сериализовывать собственноручно созданные графические объекты.
  • Что было сложным: Понять как все это работает!

    Обалденно!
    ...
    Нет. Правдо круто. Очень понравилось. Вот бы такую фичу мне в сапер прикрутить (только всё самому нарисовать придется а я так красиво, как там, не нарисую(( )

    На рисунке слева - результат сериализации. Ну там треугольничек. Справа - он - в графическом эквиваленте.
    Ахтунг! Если бы я знал, что мы сохранять научимся! На прошлом уроке такую картину нарисовал... А-а-а-а!
  • Оценка видео-уроку:
Отчёт от 1901 за Игры со Спрайтами / Спрайт. Сериализация объекта




Оцени работу

 
Сохранить страницу:

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Neverwinter 2  # Игры со Спрайтами / Спрайт. Сериализация объекта / 2017-11-26 12:28

Нарисуй ещё раз - во второй раз всегда лучше получается.


1901. --
Neverwinter 2
Neverwinter 2
ответить
→  Евгений Волосатов  # Игры со Спрайтами / Спрайт. Сериализация объекта / 2017-11-27 10:35

Ну, теперь уже в редакторе спрайтов - и сохраню!!
:-))))))))))))))


  • Отчёт оценивали:
    1Евгений Волосатов+1   7119Новопашин Владимир+1   6580konstantin+1   11147Сергей+1   6452Кирилл Шмойлов+1   10167Игорь+1   11582Родион+1   9156Dimon+1   15822Павел Демьянов+1   16066Bodrik_torf+1   4395Денис+1   1901Neverwinter 2+1   9980Timoha+1   9901Neo+1   8275Tekashnik+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: 1) How to serialize and deserialize objects, в данном уроке в файл формата xml. 2) Познакомился компонентами SaveFileDialog, OpenFileDialog.
Трудности: Сложностей не было.
Интересная тема)


Научился: Сохранять в XML файл и загружать из него с помощью XML сериализации.
Трудности: У меня при загрузке возникла проблема, не отображался спрайт, ошибка оказалась в обработчике события при клике мышкой, т.к. я делал по-своему, при клике мышки у меня рисовалась ломаная линия, а при двойном щелчке линия перестает рисоваться. Проблема была в том, что в координаты x1,x2 и y1,y1 сохранялись одинаковые значения, ошибку исправил таким образом: private void picture_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (curLine.x1 == -1) { curLine.x1 = e.X; curLine.y1 = e.Y; } else { curLine.x2 = e.X; curLine.y2 = e.Y; sprite.AddLine(curLine); curLine.x1 = curLine.x2; curLine.y1 = curLine.y2; } return; } }
Немного покороче написал метод Save() public void Save(string filename) { try { XmlSerializer xml = new XmlSerializer(typeof(Sprite)); XmlWriter writer = XmlWriter.Create(filename); xml.Serialize(writer, this); } catch { } } Еще вы забыли добавить блок Try,Catch. Спасибо за урок!