VB制作的游戏,如何储存游戏进度?最好生成一种文件,用我制作的游戏vb打开文件夹,求代码。

大家都在搜:
扫描二维码安装房天下APP
手机浏览器访问房天下
> > 问题详情
VB程序内容自动保存。我做了一个小游戏,有个进度条,是经验值,当我经验值到一般是,关闭程序,再次打开
进度条又为零了,这个怎么调啊?
浏览次数:0
在程序退出时(Form_Unload事件)把这个值储存到一个文本文件或系统注册表中,在程序打开时(Form_Load事件)再从文本文件或注册表中读出这个值即可。
房天下知识为您分享了一条干货
手机动态登录
请输入用户名/邮箱/手机号码!
请输入密码!
没有房天下通行证,
下载房天下APP
提问获取更多回答
ask:2,asku:0,askr:75,askz:18,askd:18,RedisW:0askR:1,askD:0 mz:hit,askU:0,askT:0askA:2
Copyright &
北京拓世宏业科技发展有限公司
Beijing Tuo Shi Hong Ye Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:IIS 7.5 详细错误 - 404.0 - Not Found
Internet Information Services 7.5
HTTP 错误 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。
详细错误信息
模块IIS Web Core
通知MapRequestHandler
处理程序StaticFile
错误代码0x
请求的 URLhttp://www.pudn.com:80/downloads668/sourcecode/game/detail2704836.html
物理路径D:\211.147.247.236\downloads668\sourcecode\game\detail2704836.html
登录方法匿名
登录用户匿名
最可能的原因:
指定的目录或文件在 Web 服务器上不存在。
URL 拼写错误。
某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问。
可尝试的操作:
在 Web 服务器上创建内容。
检查浏览器 URL。
创建跟踪规则以跟踪此 HTTP 状态代码的失败请求,并查看是哪个模块在调用 SetStatus。有关为失败的请求创建跟踪规则的详细信息,请单击。
链接和更多信息
此错误表明文件或目录在服务器上不存在。请创建文件或目录并重新尝试请求。用VB和TV3D从零开始轻松制作3D游戏教程&第一章&熟悉vb和tv3d
版权所有,转载请注明出处。
大家好,我是Reity。
这次终于开始做3d游戏的教程了。很多人都以为3d游戏的制作要比2d游戏复杂的多,其实呢,如果知道了制作方法,3d游戏反而比2d游戏的制作花费的精力少。3d本身就是一种视觉效果,即使美工很差,给人的感觉也会比2d的要优越。如果一个游戏含有很多人物动作,3d游戏只需要一个蒙皮的人物模型,然后就可以按照自己的设计拖拽出任意的动作,而2d游戏则需要把每一帧的人物造型全部画出来。比如拳皇这种格斗游戏,每个人物都需要几百张动作图呢。废话不多说了,总之,我希望通过我的教程,能够让你发现制作3d游戏原来如此简单。好了,我们开始吧。
熟悉vb和tv3d
Vb就是Visualbasic,是一种可视化的基础编程语言。为什么用vb呢?因为它简单嘛,学得快的人几个小时就能学会。有人说我只会C++,没关系,原理都是相通的,你学vb只会更快。有人说,我不会vb怎么办?既然是从零开始的教程,我自然已经考虑到了这个问题。既然只是做游戏,又不是制作应用软件,所以我们只需要知道几个常用的命令就可以了。下面列出来就是vb在游戏制作中常用的命令,有vb基础的同学可以直接跳过这里了。
变量:用来储存数据或文字
常用的变量类型&
浮点,也就是有小数点的数
实际上制作游戏只需要用到这3种类型,甚至连long都可用single代替。
dim aaa as single
就是定义了一个名为aaa的小数变量,且aaa的值为100
没达到条件的结果
举例:if aaa=100&
当条件a=100时,运行结果aaa=aaa+1,这样aaa的值就变为101了。
重复命令For next
for i= 1 to
for i=1 to 10
也就是把aaa+1重复10次,这样也就相当于是aaa+10了
这里顺便提一个命令
Loop until
这个就是无限循环了,不达到条件是不会停止的,这个游戏中只有主循环才会用一次,所以大家知道一下就可以了。
随机函数 rnd*最大范围
游戏中会用到很多的随机事件,实际上,世界上根本就没有随机,我们是不知道原理或者不想去细致的讨论全部因素才会用随机来代替。比如敌方的子弹射过来,子弹的路径之所以不同,主要是由枪的后座力、稳定性,子弹的规整度,风力、空气密度,敌人的瞄准能力、反应能力、手臂肌肉强度,以及敌人在射击的一瞬间的心理活动……总之,我们不想,也没必要去考虑这些问题,所以在游戏中干脆就把敌人的命中率设为30%就ok啦。
代码如下,你可以好好研究下
Dim aaa as long
Aaa=rnd*100
If aaa&=30 then
基本就是这么几个常用的东西啦,只要熟练掌握这几个命令,简单的游戏都可以做了。不过我还是建议你能系统的自学一下vb,这样会更熟悉Vb一些。
我们把这几个命令用猜数字的游戏实际应用一下,这是代码,直接全部替换到vb的窗口代码中。里面有些命令我们是用不到的,所以不需要记住。“’”符号后面的内容是注释,不影响代码。
Option Explicit '这条语句是表示所用到的变量必须先定义,建议每次开头都加上这条语句,养成好习惯。
Private Sub Form_Load()
Dim a As Long
Dim b As Long&
'定义a,b两个整数型变量
Randomize Time '这个语句是让每次的随机值都不一样,如果不加,你测试的时候会发现,每次随机的值都是一样的,但是生成exe以后不会,所以只用于测试。
b = Int(Rnd * 99) + 1 'rnd是随机函数,游戏中非常常用,大家记住Int(Rnd *
99)这条语句是随机取0—98共99个整数,而我们要1—99的数,所以后边要加1。
a = InputBox("请猜一个数,此数为1-99之间。")
'这条语句是让你输入一个数然后储存到变量a中。
If a = b Then 'a=b自然就是猜对了
MsgBox "猜对了!"
End '然后结束程序
If a & b Then MsgBox
'if语句写在一行之内可以省去结尾的end
If a & b Then MsgBox
也许有人会问了,vb不是效率很低么?不是很多人都认为vb不能制作大型游戏么?
我要说的是,直接用vb来制作游戏,确实效率很低,这本没有错。这样就必须引出vb亲密的伙伴tv3d了。Tv3d全名TrueVision3D,是美国的一款免费的商业3d游戏引擎。其实tv3d也支持c++,Delphi等编程语言,只不过你学习别的编程语言至少也要1个月。Tv3d是以微软发布的dx作为底层,也就是运行效率和vb没有多少关系,vb只需要调用tv3d命令和一些表层数据的计算就可以了,其余的包括渲染,碰撞都是由tv3d完成,所以制作大型游戏完全没有问题,而且tv3d的效率还是相当高的。
Tv3d的官方网站是
6.3版本下载(特点,直接支持cs的bsp地图,以及mdl骨骼动画,并且附带很多基础的教程和例子)
6.5版本下载(特点,拥有更强大的特效,如水面反射、动态阴影、泛光、物理引擎等。支持win7)
我要教大家的就是6.5版本,一个更加高效率,更强大特效的版本。
之前的6.3版本使用的人已经很多了,也有很多人制作出了很棒的游戏。比如《梦幻战争》系列,这可是一个人制作的哦。
但是用6.5制作的游戏确不多见,主要原因就是因为例子和教程比较少,所以希望我的教程能够填补这一空白,使大家对6.5能有个进一步的了解。我们也来看看6.5强大的特效。
好,我们下载完成后安装,然后打开vb,点上面菜单中的工程,然后点引用。注意这是很重要的一步,如图,把tv3d的dll引用了,点确定,这样才能让vb能够调用tv3d。
像往常一样,我们先来个helloworld吧,来做我们的第一个tv3d程序。
下面是全部代码,直接复制替换即可,运行后我们会看到一个旋转的白色茶壶。看出来了么?这可是3D的哦,可不是那种不入流的2D了,我们已经步入了3D时代。
Option Explicit
Dim Tv As New TVEngine
'调用tv3d所必需的
Dim Scene As New TVScene
'调用tv3d所必需的
Dim Mesh As TVMesh
'定义一个网格物体
Private Sub Form_Load()
Me.Show '显示当前窗口,每次都加上错不了
Tv.Init3DWindowed Form1.hWnd
'用窗口模式启动tv3d
Set Mesh = Scene.CreateMeshBuilder
'网格物体初始化,必加
Mesh.CreateTeapot
'建立一个茶壶
Mesh.SetPosition 0, 0, 3
'设定物体的位置坐标
&Mesh.RotateY 0.001
'沿y轴以0.001每帧的速度转动
&Mesh.Render
&Tv.RenderToScreen
'把所得最终结果渲染到屏幕
DoEvents '这句是把线程空出来,使其他的的程序能运行,必加
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。VB制作的游戏,如何储存游戏进度?最好生成一种文件,用我制作的游戏打开,求代码。_百度知道
VB制作的游戏,如何储存游戏进度?最好生成一种文件,用我制作的游戏打开,求代码。
储存进度用什么文件?什么代码?
我有更好的答案
一个具有实用价值的程序(或系统),都会生成必要的信息,这些信息为其它程序或者是本身程序下一次运行所需要。对于这些信息(数据)就要考虑文件系统(格式)。任何高级语言,都会提供象“文本”文件、“二进制”文件的操作,VB也不例外。利用高级语言提供的文件操作,自己可以定义特殊的格式甚至加密。也可以采用数据库文件存放信息。你可以通过浏览器搜索一下VB提供的文件操作。或者在VB的MSDN里,搜索“open”主题,获得帮助和例子。
我用的是精简版
文件操作实在是一言难尽,我这里举个简单例子,你先试试.添加2个按钮,保存工程到文件夹。先单击1,产生文件,后单击2读取文件。Option ExplicitPrivate Sub Command1_Click()Dim MyStr As StringMyStr = &长江,亚洲第一大河,其流域面积、长度、水量都占亚洲第一位。& & VbCrlf & _
&它发源于青藏高原唐古拉山的主峰各拉丹冬雪山。长江流域从西到东约3,219公里,由北至南966公里余。& & _
&长江流经:青藏高原-青海(青)-四川(川)-西藏(藏)-云南(滇)-重庆(渝)-湖北(鄂)-湖南(湘)-江西(赣)& & _
&-安徽(皖)-江苏(苏)-上海(沪)注入东海。长江全长6397千米,是世界第三长河,& & _
&仅次于非洲的尼罗河与南美洲的亚马逊河,水量也是世界第三。总面积1808500平方公里(不包括淮河流域),& & _
&约占全国土地总面积的1/5,和黄河一起并称为“母亲河”。&Open App.Path & &\1.txt& For Output As #1
'以输出方式(写入)打开文件
Print #1, MyStrClose #1
' 关闭文件。End SubPrivate Sub Form_Load()Dim MyStr As Stringdim MyLineStr as string '读取文件信息Open App.Path & &\1.txt& For Input As #1
'以读的方式打开文件MyStr=&&Do While Not EOF(1)
' 循环至文件尾
Line Input #1, MyLinstr
MyStr = MyStr & MyLinstr & VBCrlfLoopClose #1
' 关闭文件。msgbox MystrEnd Sub
采纳率:69%
储存进度可以输出在程序目录的txt文档里,打开后恢复进度。输出:Open App.Path & &\进度.txt& For Output As #1 '创建了文本文档
Print #1, '把进度写在这里Close #1读取:Dim jindu As IntegerIf Dir(App.Path & &\进度.txt&) = 0 Then Exit SubOpen App.Path & &进度.txt& For Input As #1
jindu = Input(LOF(1), 1)Close #1可以将输出代码放置在Form_Unload事件里,读取代码放置在Form_Load事件里,达到退出则保存,打开则读取进度并恢复。
LZ把游戏发到我看看能不能帮忙
直接open ddd.dat for output as #1然后 write #1,“your datas”就可以了
什么意思?看不懂。
就是直接把数据写入到文件ddd.dat里面啊用的时候再读出来,要求不高的这个够用了。要不你链接上一个数据库也行
,这是哪个控件的代码?怎么读取?
什么控件都能用啊,读取的时候是open &ddd.dat& for input as #1然后用lineinput等方法读入弄完别忘了close #1
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用VB6编小游戏,可以存储进度吗?_百度知道
用VB6编小游戏,可以存储进度吗?
或者说怎样将VB6编出的程序在运行过程中生成的数据储存到其它文件中,并使下次再启动该程序时可以调用这些数据。也就是说能否建立一个数据库?
我有更好的答案
推荐写入数据库来保存游戏中的数据,数据库的连接操作,见上面百度文库有详细的介绍,如何写数据库程序。
当然可以,可以建立数据库,也可以写入一个文件中,也可以写入注册表中,方法多了
使用mdb数据库游戏简单储存
各种方法:写入注册表、写入ini、写入自定义文件、写入各种常用数据库、写入(附加到)某些其他文件尾、写入任何一个能储存数据的地方(比如你程序中某文件的“属性”栏里的一些地方)、建立一个服务器,将数据传到服务器、利用免费电子邮件网站以邮件的方式储存和读取、、、、、、、、、、省略一万种方法。
完全可以啊,你把输出的文件里的变量定义好就可以
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
vb6的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 vb打开文件夹 的文章

 

随机推荐