VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 用Visual Basic自编小游戏
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:9896, 日期:2002-01-09
开始学vb时,并不知道vb可以做出动画,后来知道通过自编的子函数delay(c的库函数中的该函数)和cls可以做出许多动画,但有一个缺点就是太耗内存,就我个人认为构思应该比编程重要,因为一旦有了一个很好的构思剩下的问题都是技术问题,而我就是喜欢发现新的问题然后再想方设法解决它,通过发现问题和解决问题我可以学到许多很有用的知识和技巧。好了,现在有了一个好的构思就开始进入程序的编制。

  第一步,要做成这个游戏的话必须能使小球有一个判断性的运动,然而如何处理小球的运动呢,很显然delay&cls的方法不再适用,因为整个程序运行时不停的清屏效果将很差,所以我想到了用shape控件来替代用circle命令画的小球,接着要使小球运动起来,这个问题很简单,因为shape控件有left和top的属性,可以通过对这两个属性的控制可以很轻松的解决小球运动问题。

  第二步,将对小球进行角度控制,角度可以通过shape的属性left和top来反映,通过timer控件使小球的left和top值不断加上一个值或减去一个值,小球的left和top同时改变之后就可以对小球的角度进行控制。到这里已经可以使小球运动起来,接下来的问题就是使小球能进行判断性运动。

  第三步,可以这样对小球进行判断性控制,当小球的left大于窗体的scaleleft时小球的left改变成减去一个值,以此类推,小球的高度也可以进行类似的控制,现在已经很方便的对小球进行判断性运动,到这一步程序已经算是完成了一半。

  第四步,既然小球可以自由的运动了,那就可以产生这样一个想法,当小球的top和left的砖块的top和left值接近到一定的范围的条件成立时使砖块的visible为false,然后小球的top和left加上接触前相应相反的值,就可以使砖块消失同时小球改变运动轨迹,这一步的实现需要解决很多技术性问题,可以在form的load事件里定义两个变量Dwd和Dhd以及两个Boolean量为Dw和Dh,通过Dwd和Dhd来控制小球向左和向上运动,当小球和窗体的边界或和砖块的的边界接触时使Dw和Dh的值进行相应的变化,通过对该两个值的控制可以使小球进行合乎反弹角度的运动,现在程序已经初步成型。

  第五步,要做成这样的一个游戏,必须有一个良好的用户界面,为了使小球能接受用户的控制,我在窗体的下边界放置了一个命令按钮,该命令按钮可以通过方向键来控制,然后再加上一些判断语句使得小球command接触时产生相应的运动,这样一个用户界面就解决了。

  第六步,现在只剩下程序的最后一步,就是生成砖块的排列,砖块可以用命令按钮来替代,然后用循环语句将设置好的command控件数组在程序运行时加载进来,好了,现在已经一切完成.