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

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

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

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

    Задание
    наладить работу программы с предыдущими классами
    и уметь загружать подготовленные спрайты.
  • Дата отправки отчёта: 9 июля 2015 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Добавлять в проекты классы.
  • Что было сложным: Ничего сложного. Забыл проинициализировать Graph и у меня получалось деление на ноль, но эту ошибку я уже отыскал быстро.
  • Комментарии: Замечаний нет.
  • Оценка видео-уроку:
Отчёт от 4402 за Игры со Спрайтами / Аполлон. Graph и Sprite на Луне




Оцени работу

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


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




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

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

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

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