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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта
Вебинар «Мы начинаем PHP + Yii2» начнётся через 5 час. 29 мин.

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

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

    Задание
    наладить работу программы с предыдущими классами
    и уметь загружать подготовленные спрайты.
  • Дата отправки отчёта: 26 июня 2016 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Можно использовать классы из другого проекта не импортируя их в другой в пределах одного решения
  • Что было сложным: Ничего
  • Комментарии: А как работают псевдонимы в using? Неудобно же каждый раз Sprite.something писать
  • Оценка видео-уроку:
Отчёт от 9567 за Игры со Спрайтами / Аполлон. Graph и Sprite на Луне




Оцени работу

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

9567. Максим
Максим
ответить
→  Евгений Волосатов  # Игры со Спрайтами / Аполлон. Graph и Sprite на Луне / 2016-06-26 13:49

У нас класс имеет такое же название как и namespace, по этому такой вариант не работает (есть неоднозначность), вот я и задумался в сторону псевдонима


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Максим  # Игры со Спрайтами / Аполлон. Graph и Sprite на Луне / 2016-06-26 11:00

Попробуй
usin Sprite;



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




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

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

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

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


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


Научился: Я не узнал ничего нового
Всё отлично! Я почти у цели! У меня есть GraphDrawer и SpriteHolder для отрисовки :~) Они очень крутые и функциональные! Но не работают в редакторе :~( Только в запущенном приложении :~( Но я это исправлю! :~)