我的程序
gosub60
这个作者很懒,什么都没留下…
展开
-
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~24开始游戏-屏幕截图
魔塔之拯救白娘子 完整工程下载地址:魔塔之拯救白娘子》流程分析8:屏幕截图和通用申明有网友问我主窗口设计界面是什么样子?下图就是:frmMain.frm设计界面非常清爽,只有一个tiemr控件(用来根据running的值 控制程序流程),一个Picture1控件,一个PictureClip1控件,这2个用来实现屏幕自动截图功能。(如果不需要自动截图连这个2个控件都不需要。自动截图主要是在读取游戏记录的显示当前关口好看一点。。。)下边送上自动截图BAS源码:Private Type PALETTE原创 2021-01-22 13:42:12 · 397 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~23开始游戏-存档管理
魔塔之拯救白娘子 完整工程下载地址:魔塔之拯救白娘子》流程分析7:游戏存档管理作用如下:①自动存档,当上楼或者下楼的时候,会自动帮玩家存档并截图(吼吼,游戏次数长了,存档容量可是几百M哦,因为图片没有压缩过,注意清理,硬盘空间大的请忽略)②手动存档:自动截图并存档下边是设计界面:下边是源码:Option ExplicitDim 当前手动存档图形编号 As IntegerDim 手动存档条目 As IntegerDim 自动存档条目 As IntegerDim 存档路径名字 As St原创 2021-01-22 13:21:16 · 296 阅读 · 1 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~22开始游戏-穿越楼层
魔塔之拯救白娘子 完整工程下载地址:魔塔之拯救白娘子》流程分析6:穿越楼层我称之为跳楼,下边是子窗口设计界面:下边为源码:Option ExplicitPrivate Sub Command1_Click()Unload Me跳楼对话窗口显示标志 = FalseEnd SubPrivate Sub Form_Load() '获得主窗口的坐标 Me.Left = frmMain.Left + 1000 Me.Top = frmMain.To原创 2021-01-20 13:50:02 · 222 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~21开始游戏-商店NPC
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》流程分析6:-商店NPC设计界面:子窗口代码:Option ExplicitDim 商店对话选择编号 As IntegerPrivate Sub Command1_Click()Unload Me商店对话窗口显示标志 = FalseEnd SubPrivate Sub Form_Load() '获得主窗口的坐标 Me.Left = frmMain.Left + 1000 Me.原创 2021-01-20 13:44:33 · 235 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~20开始游戏-对话处理
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》流程分析6:对话处理游戏的对话处理比较简单,仅仅是根据游戏流程提供简单的对话系统,没有涉及复杂的东西。下边是设计的窗体:Option ExplicitDim 对话内容() As StringDim 要显示的对话次数 As IntegerDim 当前显示的对话编号 As IntegerDim npctalk(20) As StringSub 写对话内容()On Error Resume NextDim sFile As Str原创 2021-01-20 13:24:00 · 435 阅读 · 1 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~19开始游戏-战斗处理
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》流程分析5:战斗处理这个游戏的战斗系统比较简单,就是对比双方的数据,打的过就显示打斗过程,打不过就提示“打不过”,绕路而行,,,,下边是战斗处理子程序:Sub 战斗处理(怪物编号 As Integer)Dim k As IntegerDim K2 As LongDim n() As String'战斗'①判断是否能打过,不能打过就提示:打不过n = Split(怪物信息(怪物编号 - 79), ",") '读取怪物数据怪物相关原创 2021-01-20 13:14:13 · 258 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~18开始游戏-物体碰撞检测
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》流程分析4:物体碰撞检测处理方式分2步,第一步是游戏时主角显示处理:当主角移动时需要擦除上一个坐标位的主角,然后在新位置上放置主角,但是呢,如果碰到相应的道具、物品、敌人将触发第二步:物体碰撞检测①游戏时主角显示处理:Sub 游戏时主角显示处理() Dim j As Integer Dim m() As String Dim k As Integer Dim i As Integer '男原创 2021-01-20 12:40:00 · 451 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~17开始游戏-移动方向处理
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》流程控制分析3:男主角移动及方向处理:Sub 男主角移动及方向处理()If Running <> 1 Then Exit Sub'男主角移动.移动速度 = 0If 自动寻路开启标志 = True Then Exit SubIf 战斗开始标志 = True Then Exit SubIf 对话窗口显示标志 = True Then Exit SubIf 商店对话窗口显示标志 = True Then Exit SubIf 跳原创 2021-01-20 12:29:15 · 182 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~16开始游戏-自动寻路(A星算法)
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》流程分析2:⑤游戏界面鼠标点击判断以及自动寻路:自动寻路的效果如下:源码如下:Sub 游戏界面鼠标点击判断()Dim map(12, 12) As IntegerDim j As IntegerDim k As Integer Dim a As POINTS Dim b As POINTSDim m() As String'①先判断当前是不是弹出对话窗口If Running <> 1 Then Exi原创 2021-01-20 12:19:27 · 2247 阅读 · 4 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~15开始游戏-地图层次判断
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》流程分析:初始化→根据 主角所在的楼层判断主角的位置并绘制主角→显示主角的基本信息(生命值、体力值、金币、经验值等等)→游戏界面鼠标点击判断→男主角移动及方向处理→自动寻路处理→ 游戏时主角显示处理→循环判断直到游戏结束←①首先判断玩家是不是赢了游戏,如果赢了游戏就返回到最开始的选择游戏界面。源代码如下:If Winner = True And 对话窗口显示标志 = False Then Running = 9: 读档标志 =原创 2021-01-20 12:09:52 · 178 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~14开始游戏-流程处理
魔塔之拯救白娘子 完整工程下载地址:二、游戏开始后的流程控制:当初始化完成后,timerDraw.Enabled = True 开始进行流程控制。下边的代码就是控制内容。初始化→根据 主角所在的楼层判断主角的位置并绘制主角→显示主角的基本信息(生命值、体力值、金币、经验值等等)→游戏界面鼠标点击判断→男主角移动及方向处理→自动寻路处理→ 游戏时主角显示处理→循环判断直到游戏结束←Case 1 '游戏开始了 If Winner = True And 对话窗口显示标原创 2021-01-20 11:35:51 · 315 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~13开始游戏-初始化
魔塔之拯救白娘子 完整工程下载地址:上几节介绍了地图编辑器编写情况,现在开始介绍《魔塔之拯救白娘子》开始游戏后的处理。游戏开始后的流程处理如下:一、初始化: 当running=1的时候,就是新的游戏开始,这时候要进行一系列的初始化操作。初始化过程是放在一个 判断running状态_初始化 子程序中判断的。Sub 判断running状态_初始化()Me.Cls If Running = 9 Then '游戏第一面,选择界面 背景音乐选择 Me.Caption = "魔塔之拯救原创 2021-01-20 11:21:56 · 318 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~12地图编辑器-保存地图
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》12地图编辑器-保存地图:我们绘制好地图以后,如果满意了就要及时保存,保存的时候会判断 地图编辑器界面_修正地图 是不是true,如果是true表明地图有更正过地图,否则就不予保存(表明没有修改过,不需要保存,以免重复保存造成错误。)通过这个地图编辑器,可以绘制自己想要的地图。并且经过扩展,比如增加道具,增加怪物等,可以绘制一本出色的RPG游戏。在timerDraw子程序中的代码如下:'保存地图处理 If 地图编辑器界面按原创 2021-01-19 19:01:01 · 182 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~11地图编辑器-鼠标点击
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》~11地图编辑器-地图编辑界面鼠标点击判断:鼠标点击判断:①点击的对象是卡通图片切换:完成对3种类型的卡通切换并显示②点击的对象是某个卡通图片:获得该开通的编号,显示相应的信息,比如怪物属性③点击的是地图界面:根据②的在地图界面绘制②的卡通并显示④其他选择,比如退出编辑,清空地图等等。Sub 地图编辑界面鼠标点击判断()If Running <> 8 Then Exit SubIf Xi.MouseKey(xgL_BUTT原创 2021-01-19 18:27:04 · 224 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~10地图编辑器-卡通绘制
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》地图编辑器-背景绘制:这个子程序绘制的背景是静态的,如果绘制动态的可参考完整工程里的 动态背景Draw 子程序:Sub 背景Draw() Dim j As Integer Dim k As Integer Dim m() As String Dim n As Integer '绘制作战区域 图片X坐标 = 0 图片Y坐标 = 0 For k =原创 2021-01-19 18:16:09 · 160 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~9地图编辑器-卡通选择
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》地图编辑器:流程控制-卡通选择本课主要讲一下,卡通图片的选择。如下图所示。卡通图片由3种:①基础类:25个,主要是路面、NPC、门、楼梯之类。②刀具类:28个,主要是红宝石、血瓶、武器等道具。③怪物类:34种,各种妖魔鬼怪。前一课,在地图编辑器流程控制第一项地图数据初始化后,接着就是,卡通图片初始化。下图的代码就是:'地图编辑器Sub 地图编辑器_初始化()'绘制一个6*6的区域作为选择绘制图形的地方 地图编辑器_选择图形D原创 2021-01-19 17:54:13 · 213 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~8地图编辑器-处理流程
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》处理流程:①在主游戏窗口里添加一个timer控件,名称为:timerDraw 作用:根据running状态绘制不同的背景Enabled:false 当游戏初始化完毕后开启,进行不同状态的背景绘制,是整个程序的中控Interval:10 时间为10毫秒,数字越少触发越多。这个数值影响FPS②timerDraw 对地图编辑器的处理流程:PaintScreen 0 '以黑色擦除屏幕 RenderBegin '开始渲染原创 2021-01-19 17:35:21 · 232 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~7地图编辑器-地图格式
魔塔之拯救白娘子 完整工程下载地址:《魔塔之拯救白娘子》地图编辑器2:确定地图格式魔塔这个游戏很经典,网上大把源码以及地图之类的,但是DX8做的比较少,源码也没有,因此,我决定自己写一个。我查看了一个21层的采用GDI写的,当时的感觉就是画面相当不流畅。用DX8写的好处就是显而易见。这里采用大家认同的图片格式,就是1313的,其中1111为地图可变区域(存放道具,怪物等)。如下图所示:这个地图是编辑器的0#图,四周的为墙壁,不可通过。注意:在本程序中,不可通过的墙壁为0,可通过的为1。其他不可通原创 2021-01-19 16:56:37 · 222 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~6地图编辑器-初始化
魔塔之拯救白娘子 完整工程下载地址:从今天开始我将写一下《魔塔之拯救白娘子》的游戏地图编辑器,俗话说,事半功倍。把地图编辑器搞好,基本一个游戏就写好了三分之一了。可以说,魔塔的地图是相对来说还是很简单的,这里仅仅定义了地图上怪物的编号,复杂的地图不仅如此,还要加上音乐、音效、怪物脚本等等。复杂的东西都是从简单的开始,所以我们先做简单的。一:确定是窗口模式还是全屏模式,或者两者都可以?因为游戏简单,所以确定用窗口模式,并且窗口模式也方便调试,对于初次写游戏的我来讲也容易成功些,毕竟第一次写游戏能够写成功原创 2021-01-19 16:42:13 · 251 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~5界面设计
魔塔之拯救白娘子 完整工程下载地址:在前边搞定了游戏引擎后,就要设计游戏的界面。游戏的界面包含,①游戏封面:用来选择游戏的各种选项,比如进入游戏,游戏设置等等。②游戏主界面:用来进行游戏的主要窗口界面 ③地图编辑器:为了让游戏方便设计,搞个地图编辑器非常重要。④游戏设置:游戏各项设置,比如窗口模式还是全屏模式,声音效果等 ⑤游戏关于:就是谁写的,版权申明这类的。本着学习为目的,所以,《魔塔之拯救白娘子》就使用简单的界面为主。下边是实现的效果。(可以绘制一个草图,方便自己写作。)①游戏封面:如下图:原创 2021-01-19 16:08:42 · 283 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~4读写ini文件
魔塔之拯救白娘子 完整工程下载地址:读写ini.bas 用来读写ini文件Option Explicit '读写INI声明Dim TempBolPublic iniFileName As StringPublic Declare Function GetPrivateProfileInt Lib "Kernel32" Alias "GetPrivateProfileIn原创 2021-01-17 17:45:09 · 225 阅读 · 1 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~3鼠标键盘和手柄引擎
魔塔之拯救白娘子 完整工程下载地址:xInput.cls 这个模块处理鼠标键盘和手柄的输入。'impactX Game Engine'本类模块用于处理鼠标键盘和手柄的输入'使用本类模块必须遵守:'你可以免费使用本引擎及代码'使用本引擎后的责任由使用者承担'你可以任意拷贝本引擎代码,但必须保证其完整性'希望我能得到你使用本引擎制作出的程序'Davy.xu sunicdavy@sina.com qq:20998333Option ExplicitDim di As DirectInput原创 2021-01-17 17:39:18 · 368 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~2音效模块
魔塔之拯救白娘子 完整工程下载地址:继续上一文,游戏引擎相关源码。ModMain.bas:作用,用来绘制图片精灵,管理物理精灵图片池。Option Explicit'主入口''管理物理精灵图片池'Private Type TYPE_PATH '路径结构. Count As Long '当前结构中包含的路径点数量 Index As Long '当前使用的路原创 2021-01-17 17:34:45 · 371 阅读 · 0 评论 -
魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~1游戏引擎
魔塔之拯救白娘子 完整工程下载地址:前边学习了DX8的相关知识后,想做一个游戏试试看。这里我选取了魔塔这个比较大众化的小游戏。主要是魔塔的游戏画面比较固定,也很简单,似乎很容易做。下边就开始做吧。一:游戏引擎做游戏,最好的就是开发一个自己的游戏引擎,但是现在要做的仅仅是一个小游戏,没必要自己去大动干戈的去整游戏引擎,并且要做商业性的游戏,市面有大量现成的商业引擎,没必要自己耗费心力去搞游戏引擎。特别是,一个完整的商业化的游戏,至少有个团队来创作,要程序员、美工、策划等通力合作。所以,我作为一个VB6编原创 2021-01-17 17:25:29 · 525 阅读 · 0 评论