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

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

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

  • На этом уроке мы научимся сохранять и загружать объекты,
    используя технологию сериализации и десериализации.
  • Дата отправки отчёта: 28 июня
  • Задание выполнено: за 2 час. 00 мин.
  • Чему научился: Сохранять в 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.

    Спасибо за урок!
  • Оценка видео-уроку:
Отчёт от 6203 за Игры со Спрайтами / Спрайт. Сериализация объекта




Оцени работу

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

4004. Елена
Елена
ответить
→  Николай (nick27m)  # Игры со Спрайтами / Спрайт. Сериализация объекта / 2016-06-29 20:52

Рада, что все получилось :)


  • Отчёт оценивали:
    6452Lik_Kirill+1   7645Александр Львович+1   1Евгений Витольдович+1   7119Новопашин Владимир+1   4467Alcatraz+1   4992Николай+1   10494Алексей В.+1   8886Михаил Ермишин+1   689Igorenzia+1   2639Морозов Юрий Александрович+1   10558Иван Воронин0   5760Мариша +1   4395Денис+1   9237Mais+1   4060Игорь+1   4004Елена+1   9263Андрей Н.+1   3506Алексей|BrisK|Кривицкий+1   10575Кирилл0   10670Сергей Соколов0   6987MichGar+1   9457Дмитрий+1   10577Иван0   5369Archi+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Изучил сериализацию и дисериализацию.
Трудности: Язык XML очень трудный... с непривычки, конечно, всё кажется неясным...
Когда-то я изучал C# по Зиборову , поэтому прекрасно помню урок по работе с записью/чтением. Я добавил возможность фильтровать файлы по их формату (txt, xml). Однако когда я открываю файл, а затем сохраняю его снова, то высвечивается вот такое вот имя большое (второй скрин) :( как можно изменить имя? В конструкторе формы указал вот это: open.FileName = ""; save.FileName = "sprite.xml"; А так урок хороший, но трудный, надо несколько раз его пройти :)
Научился: познакомился с сериализацией/десериализацией объектов
Трудности: сложностей не возникло
замечаний нет