VB游戏开发#001植物大战僵尸小游戏开发思路说明及源码

简介: VB游戏开发#001植物大战僵尸小游戏开发思路说明及源码

一、界面设计说明



界面设计和时钟控件说明

时钟控件:

控制植物动画:timer2,时间间隔100,默认启用

控制子弹动画:timer4,时间间隔10,默认关闭

监控子弹与僵尸碰撞:timer5,时间间隔1,默认启用

控制僵尸前进:timer3,时间间隔100,默认启用

控制僵尸动画:timer1,时间间隔100,默认启用


背景音乐:

使用新的部件windows media player

音乐控件名称:WindowsMediaPlayer1


植物:image2,载入第一张植物图片


僵尸:image1,载入第一张僵尸图片


子弹:shape1,通过属性配置可以模拟子弹形状


总体工程生成的保存文件结构:

img文件夹中植物与僵尸的图片与命名


二、游戏思想



游戏人物:植物、僵尸


模拟动画效果:

1.植物动的状态

2.僵尸动的状态

3.子弹动画


通过观察:利用循环的思想实现动画效果,需要使用到时钟控件timer


这个时钟控件里面做什么事情?

举例僵尸:

我们通过不断循环图片来实现。

通过实现的代码:

i = i + 1
If i > 22 Then i = 1
Image1.Picture = LoadPicture(App.Path & "\img\c (" & i & ").jpg")
  • 制作一个人物动画效果的思想

界面采用image控件和timer控件


在timer控件的的timer事件中实现图片的切换。

图片的加载使用Loadpicture来实现


loadpicture函数用法:

loadpicture(图片路径)

图片路径可以用字符串表示。


图片的切换使用变量的递增来实现。


因为图片的个数是有限的,所以一定要注意在切换完图片最后一定要重置到第一张图片,使得图片能不断循环。


同样的,僵尸和植物都是可以采用以上方法来实现的。


注意:代码中的App.Path代表项目工程文件vbp文件所在的目录。



  • 载入背景音乐

鼠标在工具栏右键---部件---选择“windows media player”

把调出的音乐控件拖入界面上面

在form_load事件中设置控件的url属性代表音乐路径

i = 1
j = 1
WindowsMediaPlayer1.URL = App.Path & "/" & "a.mp3"
  • 设置子弹

使用shape控件来设计子弹,fillestyle填充为solid绿色

通过timer控件来控制子弹的运动

在timer控件中设置shape1.left=shape1.left+100

设置子弹默认情况为visible属性为false代表隐藏

时钟控件enabled属性默认为false

当点击空格键后,打开时钟控件,让子弹运动。


  • 碰撞模型

通过使用function函数实现一个通用的碰撞模型。

Function PZ(A As Shape, B As Image)
Dim r As Boolean
r = False '默认为不碰撞,如果碰撞,就置为true
'第一个条件检测左右碰撞情况,第二个条件检测上下碰撞情况
If (A.Left + A.Width > B.Left And A.Left < B.Left + B.Width) _
   And (A.Top + A.Height > B.Top And A.Top < B.Top + B.Height) Then
    r = True
End If
PZ = r
End Function


三、整个游戏所有源代码



Dim i As Integer
Dim j As Integer
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 32 Then
Shape1.Visible = True
Timer4.Enabled = True
End If
End Sub
Private Sub Form_Load()
i = 1
j = 1
WindowsMediaPlayer1.URL = App.Path & "/" & "a.mp3"
End Sub
Private Sub Timer1_Timer()
i = i + 1
If i > 22 Then i = 1
Image1.Picture = LoadPicture(App.Path & "\img\c (" & i & ").jpg")
End Sub
Private Sub Timer2_Timer()
j = j + 1
If j > 7 Then j = 1
Image2.Picture = LoadPicture(App.Path & "\img\b (" & j & ").jpg")
End Sub
Private Sub Timer3_Timer()
If Image1.Left < Image2.Left + Image2.Width Then
    Image1.Left = Image2.Left + Image2.Width
    Timer3.Enabled = False
    Timer1.Interval = 1
Else
    Image1.Left = Image1.Left - 30
End If
End Sub
Private Sub Timer4_Timer()
Shape1.Left = Shape1.Left + 100
End Sub
Function PZ(A As Shape, B As Image)
Dim r As Boolean
r = False
If (A.Left + A.Width > B.Left And A.Left < B.Left + B.Width) _
   And (A.Top + A.Height > B.Top And A.Top < B.Top + B.Height) Then
    r = True
End If
PZ = r
End Function
Private Sub Timer5_Timer()
If PZ(Shape1, Image1) Then
    Timer4.Enabled = False
    Shape1.Left = 1200
    Shape1.Visible = False
End If
End Sub
相关文章
|
机器学习/深度学习
智能体DS-Agent基于案例推理,让GPT-4数据科学任务接近100%
【4月更文挑战第20天】DS-Agent是结合案例推理(CBR)和大型语言模型的新研究,旨在提升自动化数据科学任务效率。通过自动迭代管道,它能理解任务、构建模型并优化性能。在开发阶段,成功率高达100%,部署阶段平均提高36%的一次通过率,降低成本,使开源LLMs也能高效处理数据科学任务。然而,LLMs的生成问题和资源限制仍是挑战。论文链接:https://arxiv.org/pdf/2402.17453.pdf
760 4
|
7月前
|
人工智能 JSON 架构师
激活沉睡的工业数据:AI智能体运营工程师实战之Coze HTTP插件开发 | 智能体来了(西南总部)
在“新质生产力”浪潮下,制造业数字化转型已从概念走向深水区。本文以第一人称视角,详细复盘了一名机械制造及自动化专业学生在 智能体来了(西南总部) 的实训经历。文章跳出了单纯的代码视角,创新性地用“机械传动原理”解构了 Coze(扣子)自定义插件开发中的 HTTP 请求、API 接口、JSON 数据解析 等核心技术。在 金加德讲师 的指导下,作者通过 AI智能体运营工程师就业班 的系统训练,成功解决了 AI 大模型“数据滞后”与“信息孤岛”的痛点,为传统工科生提供了一条可复制的“技术+行业”复合型转型路径。
|
人工智能 自然语言处理 算法
打破AI信息差:2024年20款好用的人工智能工具大盘点
本文带你了解20款值得一试的AI工具,帮助你在内容创作、图像设计、音频视频编辑等领域提高效率、激发创意。
2620 1
打破AI信息差:2024年20款好用的人工智能工具大盘点
【Java基础面试五】、 int类型的数据范围是多少?
这篇文章回答了Java中`int`类型数据的范围是-2^31到2^31-1,并提供了其他基本数据类型的内存占用和数值范围信息。
【Java基础面试五】、 int类型的数据范围是多少?
|
C++
【SPSS】两配对样本T检验分析详细操作教程(附案例实战)
【SPSS】两配对样本T检验分析详细操作教程(附案例实战)
1813 0
【SPSS】两配对样本T检验分析详细操作教程(附案例实战)
|
人工智能 编解码 数据安全/隐私保护
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
2672 0
|
安全 搜索推荐 数据挖掘
文件解析的终极工具:Apache Tika
文件解析的终极工具:Apache Tika
3126 0
|
存储 关系型数据库 MySQL
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
校园闲置物品交易平台的设计与实现(论文+源码)_kaic
|
缓存 Linux
Linux本地挂载ISO镜像文件并自建YUM源
Linux本地挂载ISO镜像文件并自建YUM源
1371 0

热门文章

最新文章