我和我的朋友们正在开始一个像 Pokemon 这样的游戏,我们想知道我们将如何在游戏中添加怪物?我们使用 VisualBasic 是因为我朋友的兄弟说这样会更容易。
到目前为止,我们可以将怪物的图片放在屏幕上,你可以点击攻击和东西。
现在,当我们想要添加怪物时,我们必须创建一个新窗口。这将花费我们很长时间来为每种类型的怪物制作所有的窗口。是否有工具或其他东西可以使这更快?游戏公司如何做到这一点?
我和我的朋友们正在开始一个像 Pokemon 这样的游戏,我们想知道我们将如何在游戏中添加怪物?我们使用 VisualBasic 是因为我朋友的兄弟说这样会更容易。
到目前为止,我们可以将怪物的图片放在屏幕上,你可以点击攻击和东西。
现在,当我们想要添加怪物时,我们必须创建一个新窗口。这将花费我们很长时间来为每种类型的怪物制作所有的窗口。是否有工具或其他东西可以使这更快?游戏公司如何做到这一点?
我认为最好的解决方案是制作一个通用窗口,它可以采用一些描述怪物的参数。
我不完全是最新的 VB,但在 OO 语言中,我们将有一个 Monster 基类,并继承来创建一个皮卡丘。基类将定义怪物拥有的基本事物(如图片、名称和类型)以及怪物可以做的事情(如攻击、逃跑等)。您甚至可以使用第二个级别,并为每种类型设置基类(例如 ElectricMonster 继承自 Monster,而 Pikachu 继承自 ElectricMonster)。
然后将 Monster 对象传递给窗口变得非常容易,并让窗口知道如何提取所有相关信息。
我认为最大的问题将是创建所有不同的角度(当角色转动时等)。您可以根据电视节目/纸牌游戏的不同帧开发角色的 3d 模型吗?
我建议你应该尝试提取怪物可能拥有的各种属性。想想顶级王牌...
然后,您可以创建一个 Monster 类,其中每个属性由一个 Property/Field 表示。
就像是
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。您可以使用 PictureBox 控件的 LoadPicture 方法。
你需要了解数据、数据结构和循环。你的怪物应该由数据组成,也许还有一些代码,然后你的怪物显示屏将根据这些数据和代码显示和操作一个怪物。
复制和粘贴小部件不适合您。学习从小部件中抽象数据和逻辑。
现在停止使用 VB 并去玩http://scratch.mit.edu它更合适。
“当我们想要添加怪物时”是什么意思?你的意思是每个怪物都有一个单独的窗口,当那个怪物出现时会显示?建立在坐说的基础上;设计,设计,设计。Ad Hoc 设计方法不能扩展到最小的程序之外。
您必须将怪物数据存储在文件或数据库中,然后从通用窗口加载它们。例如,您的硬盘中有一张皮卡丘的照片和一张球茎龙的照片。然后你用空白图片制作一个窗口,当你显示窗口时你告诉图片对象加载你需要的图片。