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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

  • На этом уроке мы научимся сохранять и загружать объекты,
    используя технологию сериализации и десериализации.
  • Дата отправки отчёта: 15 июня 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Сохранять спрайты в файл и загружать их обратно. Чуть чуть понял в чем отличие StringReader от StreamReader.
  • Что было сложным: C видео все просто. Интересно реализация функции Undo. Всегда казалось, что там должно быть море кода.
  • Комментарии: Очень интересный материал.
  • Оценка видео-уроку:
Отчёт от 2146 за Игры со Спрайтами / Спрайт. Сериализация объекта




Оцени работу

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

24. Олюшка
Олюшка
ответить
→  Иван  # Игры со Спрайтами / Спрайт. Сериализация объекта. / 2015-06-15 12:44

Иван, а где же  скриншот успешного сохранение спрайтов в файл, и сам файл? Подправь код, и покажи, пожалуйста. что ты там нарисовал и сохранил! Пока я поставлю минус и с нетерпением жду твоего отличного отчета! :)


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Иван  # Игры со Спрайтами / Спрайт. Сериализация объекта. / 2015-06-15 12:33

А что у тебя за абракадабра в коде функции Undo? :)



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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Этот урок затронул очень большой и востребованный пласт знаний - сериализацию и XML. Немного погуглил, немного почитал. Сделал сериализацию используя другой источник в инете. Работало нестабильно, глючило через раз, в файл периодически что то неправильное писалось, пока не переключил FileMod для потока на запись из CreateOrOpen в Create. Из полезного еще продолжил изучать работу с классами, предназначенными для взаимодействия с файловой системой.
Трудности: особенно сложного ничего.
Еще нового!
Научился: Сохранять в 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. Спасибо за урок!