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

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

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

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

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

    Задание
    наладить работу программы с предыдущими классами
    и уметь загружать подготовленные спрайты.
  • Дата отправки отчёта: 2 июня 2015 г.
  • Задание выполнено: за не указано
  • Чему научился: Создавать dll
  • Что было сложным: Вносить изменения, приходилось постоянно между тремя проектами крутиться, чтоб все работало.
  • Комментарии: Решил я выпендриться и был наказан затратой кучи времени)

    Так как я спрайты сериализовал в бинарные фйлы, то возникла новая неожиданность. Нельзя сериализовать класс, описанный в одной программе, а десериализовать в класс, описанный в другой программе, даже если эти классы совпадают по реализации. Т.е. сериализуемый класс должен быть вынесен в отдельную сборку, попросту говоря в dll, и уже его подключать в программу где сериализуешь и его же подключать где десериализуешь.

    Пришлось делать то, о чем я уже говорил раньше. Класс, с описанием фигуры и реализацией его прорисовки (класс Graff), я вынес в dll. Теперь я могу эту dll всовывать в любую прогу где надо выводить наши спрайты, без всякого копипаста кода.

    Ну а так как я настраивал dll, решал, что именно там должно быть, менялось описание самого класса, то постоянно приходилось копировать dll то в прогу Sprite, то в Apollon. Потому что небольшое испарвление в классе dll и десериализовать предыдущую картинку уже не хотело. Вобщем я спрайты на Аполлон рисовал 4 раза))

    Ну зато теперь совсем просто! В любую игру, где мы будем работать с нашими рисованными спрайтами, можно просто указать ссылку на нашу dll и вся реализация нам доступна: десериализация спрайта из файла, методы его отрисовки.
  • Оценка видео-уроку:
Отчёт от 5027 за Игры со Спрайтами / Аполлон. Graph и Sprite на Луне




Оцени работу

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

2146. --
Иван
Иван
ответить
→  Руслан  # Игры со Спрайтами / Аполлон. Graph и Sprite на Луне / 2015-06-02 01:56

Потрясно. Здорово, ведь про длл в уроках не было. Получили очень интересный и нужный опыт.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Руслан  # Игры со Спрайтами / Аполлон. Graph и Sprite на Луне / 2015-06-02 08:55

И, похоже, правильно, что не было про длл :)
Устаревшая технология, изжившая себя.
Но опыт, безусловно, полезный. Молодец, Руслан!


5027. --
Руслан
Руслан
ответить
→  Евгений Волосатов  # Игры со Спрайтами / Аполлон. Graph и Sprite на Луне / 2015-06-05 21:18

>Устаревшая технология, изжившая себя.<

Устаревшая - да, не оправдавшая надежд - да, но изжившая - нет. Какие на данный момент есть альтернативы повторного использования кода? Какие программные продукты не используют dll или что они используют в замен? COM устарел, вот его точно никто сейчас не использует в новых продуктах, поддерживают старые, но в новые продукты не внедряют. В любом случае dll все еще позволяет поддерживать модульность, возможность обновлять продукт модульно, возможность один модуль использовать несколькими программами.



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





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

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

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

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


Научился: Получилось.!!! Хотите прикол? Нарисовал Луну черным цветом и вставляю на черный фон и думаю: "Почему ничего не работает?" Весь мозг вынес, случайно решил поменять на другой спрайт и вот чудо - отобразилось.



Научился: -присоединять классы из другой программы и использовать их для загрузки файлов .xml
вопросов нет)