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

Формула программиста
основатель — Волосатов Евгений Витольдович
Графика + Циклы = Мастерство
Вебинар «Создание прикладных программ на C#» начнётся через 2 дня 2 час. 05 мин.

Игры со Спрайтами / Аполлон. Graph и Sprite на Луне

  • На этом уроке мы внедрим созданные спрайты в написанную игрушку.
    Для этого мы добавим проект два класса из прошлых уроков -
    класс Graph и Sprite. Затем напишем метод загрузки всех спрайтов,
    и выведем один из них на экран.

    Задание
    наладить работу программы с предыдущими классами
    и уметь загружать подготовленные спрайты.
  • Дата отправки отчёта: 14 июля 2016 г.
  • Задание выполнено: за 40 мин.
  • Чему научился: Переносить файлы классов.
  • Что было сложным: Аккуратно копировать файлы xml
  • Комментарии: Проблемы с размером картинок были ожидаемы.
  • Оценка видео-уроку:
Отчёт от 10478 за Игры со Спрайтами / Аполлон. Graph и Sprite на Луне




Оцени работу

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

  • Отчёт оценивали:
    10494Алексей В.+1   1803Саша+1   9567Максим+1   6452Кирилл Шмойлов+1   4992Николай+1   7119Новопашин Владимир+1   4467Alcatraz+1   10671Александр Б.+1   459Сергей Сергеевич+1   10670Сергей Соколов+1   4395Денис+1   3418Argona+1   1Евгений Волосатов+1   689Igorenzia+1   9237Mais+1   4004Елена+1   10769Filip Ivashov+1   10775Олег Лопухинский0   791Валерий Жданов+1   5649Максим Лапшинов+1   10681Vitalik0   10558Иван Воронин+1   9332Dima+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Загружать ранее созданные xml-файлы, вызывать необходимые методы.
Трудности: Полчаса потратил на отображение Луны. Как выяснилось, забыл в классе Graph поменять номер цвета с черного на желтый, поэтому на черном фоне Луну было не видно. Также были проблемы с позиционированием загружаемых объектов. но это на следующем уроке будет разбираться.
Пока все понятно, но ошибки возникают на ровном месте.
Трудности: Вносить изменения, приходилось постоянно между тремя проектами крутиться, чтоб все работало.
Решил я выпендриться и был наказан затратой кучи времени) Так как я спрайты сериализовал в бинарные фйлы, то возникла новая неожиданность. Нельзя сериализовать класс, описанный в одной программе, а десериализовать в класс, описанный в другой программе, даже если эти классы совпадают по реализации. Т.е. сериализуемый класс должен быть вынесен в отдельную сборку, попросту говоря в dll, и уже его подключать в программу где сериализуешь и его же подключать где десериализуешь. Пришлось делать то, о чем я уже говорил раньше. Класс, с описанием фигуры и реализацией его прорисовки (класс Graff), я вынес в dll. Теперь я могу эту dll всовывать в любую прогу где надо выводить наши спрайты, без всякого копипаста кода. Ну а так как я настраивал dll, решал, что именно там должно быть, менялось описание самого класса, то постоянно приходилось копировать dll то в прогу Sprite, то в Apollon. Потому что небольшое испарвление в классе dll и десериализовать предыдущую картинку уже не хотело. Вобщем я спрайты на Аполлон рисовал 4 раза)) Ну зато теперь совсем просто! В любую игру, где мы будем работать с нашими рисованными спрайтами, можно просто указать ссылку на нашу dll и вся реализация нам доступна: десериализация спрайта из файла, методы его отрисовки.