Как добавить монстров в игру покемонов? - PullRequest
6 голосов
/ 17 сентября 2008

Мы с друзьями запускаем игру, подобную Pokemon, и мы хотели знать, как мы добавим в игру монстров? Мы используем VisualBasic, потому что брат моего друга сказал, что будет проще.

Пока что мы можем размещать изображения монстров на экране, а вы можете нажимать, чтобы атаковать и прочее.

Прямо сейчас, когда мы хотим добавить монстра, мы должны создать новое окно. Это займет у нас много времени, чтобы сделать все окна для каждого типа монстра. Есть ли инструмент или что-то, чтобы сделать это быстрее? Как игровые компании делают это?

Ответы [ 8 ]

2 голосов
/ 17 сентября 2008

Я думаю, что лучшим решением было бы создать общее окно, которое может принимать несколько параметров, описывающих монстра.

Я не совсем в курсе VB, но в языке OO у нас был бы базовый класс Monster и наследование для создания Pikachu. Базовый класс будет определять основные вещи, которые есть у монстра (например, изображение, имя и тип), и вещи, которые может делать монстр (например, атака, бегство и т. Д.). Вы даже можете использовать второй уровень и иметь базовые классы для каждого типа (например, ElectricMonster, который наследуется от Monster, а Pikachu - от ElectricMonster).

Тогда становится действительно легко передать объект Monster в окно, и окно знает, как вытащить всю соответствующую информацию.

1 голос
/ 30 сентября 2008

Я бы посоветовал вам попытаться извлечь различные атрибуты, которыми может обладать монстр. Думай Топ-Трампс ...

Затем вы можете создать один класс 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)  

но вам не нужно каждый раз создавать новое «Окно».

Точно так же вы сможете получать данные о «монстрах» из других мест, например, из базы данных.

1 голос
/ 21 сентября 2008

Я думаю, что самой большой проблемой будет создание всех разных углов (для случаев, когда персонажи поворачиваются и т. Д.). Можете ли вы разработать 3d модели персонажей на основе различных кадров из телешоу / карточной игры?

1 голос
/ 17 сентября 2008

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

Если вы не знакомы с какой-либо базой данных, прочитайте учебник MySQL , чтобы начать работу.

0 голосов
/ 17 сентября 2008

Вы должны хранить данные своего монстра в файлах или базе данных и загружать их из стандартного окна. Например, у вас есть изображение пикачу и одного из бульбазаур, хранящихся на вашем жестком диске. Затем вы создаете окно с пустым изображением, когда вы показываете окно, вы указываете объекту изображения загрузить нужное изображение.

0 голосов
/ 17 сентября 2008

Что вы подразумеваете под «когда мы хотим добавить монстра»? Вы имеете в виду, что у вас есть отдельное окно для каждого монстра, которое отображается, когда появляется этот монстр? Чтобы построить на том, что сидят, сказал; дизайн, дизайн, дизайн. Специальные методы проектирования не выходят за рамки самых маленьких программ.

0 голосов
/ 17 сентября 2008

Вам необходимо узнать о данных, структурах данных и циклах. Ваши монстры должны состоять из данных и, возможно, некоторого кода, тогда на экране вашего монстра будет отображаться и работать монстр на основе этих данных и кода.

Копирование и вставка виджетов вам не подойдет. Научитесь абстрагировать данные и логику от виджетов.

Прекратите использовать VB прямо сейчас и играйте с http://scratch.mit.edu, это гораздо более удобно.

0 голосов
/ 17 сентября 2008

После того, как вы создали свое произведение, я бы загружал его динамически с жесткого диска, а не компилировал в один большой EXE-файл. Вы можете использовать метод LoadPicture элемента управления PictureBox.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...