Вот и долгожданная вторая часть из серии уроков по написанию своего игрового движка. В данной части мы с вами подготовим наше рабочее пространство и разберёмся как будет выглядеть структура движка. Для начала в библиотеке классов подключим System.Drawing;.
Затем создаем наше рабочее пространство
Код
namespace YoureEngine {
}
Затем разберёмся со структурой движка. Для физика будет использована внешняя библиотека и нет смысла добавлять её в основной код. На данном этапе с физикой пока мы не работаем, так как нет смысла. По сути наш игровой движок не будет выделяться ни чем хорошим, скорее даже наоборот. Вся основная суть движка лишь упрощение использования стандартных функций.
То есть в процессе разработки будет мне легче использовать функцию вида:
SpriteLoad ("путь");
Чем: Sprite = new Bitmap("путь")
Конечно это так себе, но по сути в конечном итоге вам удастся сократить общий код игры в 1,5-2 раза.
Но перейдём ближе к делу.
Сами отдельные классы мы выносить во внешнюю среду не будем, пусть себе все хранятся в одном файле.
Но ближе к делу: Добавляем в наше пространство основные классы.
Код
namespace YoureEngine { class Graphics { class Sprite { } class Background { } } class Audio {
} class Physics {
} class Engine {
} class Control {
} }
Вот вам основной шаблон игрового движка.
В качестве библиотеки физики будем использовать Farseer Physics, хотя есть и Box2d C#, Physics2D.net и ещё многие другие.
Самое трудное при разработке такого рода движком, это создание системы сцен. С этим и мне придётся сильно позаморочиться, а как вы понимаете использование в игре не сцен, а форм не идёт какой-либо крупной игре к лицу. Вот это и есть самое трудное.
Давайте напишем код класса Движка, но точнее говоря его основу.
Но пока без методов работы.Собственно первые два пункта здесь не обязательны. Третий пункт нужен для "запуска" движка, хотя по сути и он не особо нужен, а четвертое это вывод fps. Было проделано очень мало работы, но в следующей части я постараюсь уже начать работу с методами.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Написание Своего Игрового Движка: Часть 2», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Автор ты меня вдохновил. Пошел писать ОС на C++. Правда она будет слегка надпоминать DOS. Да и функций маловато (если будут). Но ОС же все таки. Ах да я говорил что C++ я только учу. Все я побежал.
Запомни раз и навсегда - перед знаком препинания не ставится пробел. Он ставится только после, если далее следует новое предложение. Поправил твой материал, удалил эти идиотские пробелы. И читай правила.
Что же касается статьи - она не может быть полезной, т.к. ты неграмотен и не знаешь, что перед знаком препинания не ставится пробел. Если ты этого не знаешь, то ты не можешь понимать более сложные вещи, типа ЯП.
Та причем тут грамотность, проще сказать, что статья не о чем) А от того, что кто-то знает правописание лучше или хуже уж это точно не зависит. Текст можно отредактировать в ворде или отдать знакомому человеку)) Такую глупость городите в виде божественн
При чем тут грамматика? Тут речь о том, что человек даже не знает как поставить точку, ни разу не видел печатный текст (не читал книги). Это показатель того, что он не может научить более сложным вещам, типа программирования.
Ну если он учится, то зачем об этом писать везде? Пусть себе учится тихо в сторонке, а не выставляет это на показ. А так он получает то, что заслуживает.
Он не учится, а учит. Я на его уровне (по программированию, например) был в 2005 году, наверное. Но тогда было сложнее - намного меньше инфы. Поэтому и был создан этот сайт. И я не против того, что он пишет свои мысли по поводу разработки движка, я только говорю ему, что нужно более грамотно подходить к делу.
TLT, у тебя "бзык" на тему грамматики и правописания. Я конечно не пропагандирую неграмотность, но твоя критика в данном случае не обоснована. Если человек пишет не грамотно - это не значит, что он ни разу в жизни не видел (точнее не читал) книг. И при этом он может отлично разбираться в математике и программировании (лично знаком с такими) причины подобного мне самому не ясны, а бывает так, что русский язык просто для этого человека не родной и он многих вещей просто "не чувствует".
Пфф... Человек размещает статью на данном ресурсе, администратор в праве требовать, чтобы статья была оформлена согласно правилам ресурса. О чем тут речь? Он же не комментарий на форуме оставил и не сообщение в личку отправил.
Я не спорю с этим. Дело не в том, что админ требует, а в том, что он еще и косвенно оскорбляет юзера. (Хотя полезность статьи действительно нулевая) Просто иногда бывает, что начинают проверять текст, как на диктанте и вот это ИМХО уже маразм. Но необходимость корректирования элементарных ошибок, допущенных конкретно в этом случае, я ни в коем случае не отрицаю.