Как добавить монстров в игру про покемонов?
-
09-06-2019 - |
Вопрос
Мы с друзьями начинаем такую игру, как «Покемон», и нам хотелось знать, как мы добавим в игру монстров?Мы используем VisualBasic, потому что брат моего друга сказал, что так будет проще.
Пока что мы можем размещать изображения монстров на экране, и вы можете нажимать, чтобы атаковать и все такое.
Прямо сейчас, когда мы хотим добавить монстра, нам нужно создать новое окно.На изготовление всех окон для каждого типа монстров у нас уйдет немало времени.Есть ли инструмент или что-то, чтобы сделать это быстрее?Как игровые компании это делают?
Решение
Я думаю, что лучшим решением было бы создать общее окно, которое могло бы принимать несколько параметров, описывающих монстра.
Я не совсем знаком с VB, но на объектно-ориентированном языке у нас был бы базовый класс Monster и наследование для создания Пикачу.Базовый класс будет определять основные вещи, которые есть у монстра (например, изображение, имя и тип), а также то, что монстр может делать (например, атаковать, убегать и т. д.).Вы даже можете использовать второй уровень и иметь базовые классы для каждого типа (например, ElectricMonster, который наследуется от Monster, а Пикачу наследует от ElectricMonster).
Тогда становится очень легко передать объект Monster окну и заставить окно узнать, как извлечь всю необходимую информацию.
Другие советы
Я бы предложил составить список всех атрибутов, которые вам понадобятся для каждого монстра, и сохранить все это в базе данных, например MySQL.Таким образом, вам не нужно создавать окна для каждого монстра, а только каждый раз, когда монстр появляется (в этом случае вы просто получаете необходимую информацию из базы данных).
Если вы не знакомы ни с одной базой данных, ознакомьтесь с Учебник по MySQL чтобы встать и пойти.
Я думаю, что самой большой проблемой будет создание разных ракурсов (когда персонажи поворачиваются и т. д.).Можете ли вы разработать 3D-модели персонажей на основе разных кадров из телешоу/карточной игры?
Я бы посоветовал вам попытаться извлечь различные атрибуты, которыми может обладать монстр.Подумайте о топ-козырях...
Затем вы можете создать один класс Monster, в котором каждый атрибут будет представлен свойством/полем.
Что-то вроде
Class Monster
Public Name as String
Public Filename as String ' Location of graphics file on disk
Public Strength as Integer
Public Speed as Integer
Public Sub New(Name as String, Filename as String, Strength as Integer, Speed as Integer)
Me.Name = Name
Me.Filename = Filename
Me.Strength = Strength
Me.Speed = Speed
End Sub
End Class
Тогда вы сможете создавать таких монстров.
Dim Monster1 as New Monster("monster1", "C:\Graphic1.jpg", 50, 10)
Dim Monster2 as New Monster("monster2", "C:\Graphic2.jpg", 1, 100)
Dim Monster3 as New Monster("monster3", "C:\Graphic3.jpg", 60, 17)
но вам не нужно каждый раз создавать новое «Окно».
Точно так же вы сможете получить данные о «Монстре» откуда угодно...например, база данных.
После того, как вы создадите свою иллюстрацию, я буду динамически загружать ее с жесткого диска, а не компилировать в один большой EXE-файл.Вы можете использовать метод LoadPicture элемента управления PictureBox.
Вам нужно узнать о данных, структурах данных и циклах.Ваши монстры должны состоять из данных и, возможно, некоторого кода, тогда на экране вашего монстра будет отображаться и управлять монстром на основе этих данных и кода.
Копировать и вставлять виджеты у вас не получится.Научитесь абстрагировать данные и логику от виджетов.
Прекратите использовать VB прямо сейчас и поиграйте с http://scratch.mit.edu это гораздо более подходит.
Что вы имеете в виду под словами «когда мы хотим добавить монстра»?Вы имеете в виду, что у вас есть индивидуальное окно для каждого монстра, которое отображается при его появлении?Опираться на то, что сказал Сит;дизайн, дизайн, дизайн.Методы специального проектирования не выходят за рамки самых маленьких программ.
Вам необходимо хранить данные о монстрах в файлах или базе данных и загружать их из общего окна.Например, у вас на жестком диске хранится изображение Пикачу и изображение Бульбазавра.Затем вы создаете окно с пустой картинкой, когда вы показываете окно, вы указываете объекту изображения загрузить нужную вам картинку.