VB游戏设教程之大家来找茬.docVIP

  • 9
  • 0
  • 约3.6千字
  • 约 8页
  • 2016-12-03 发布于贵州
  • 举报
VB游戏设教程之大家来找茬

前言: VB大家来找茬游戏设计教程适合刚入门的新手学习,高手就没有必要看了。这套找茬游戏引擎并没有什么很高深的代码,适合新手学习。这个教程主要是对引擎的相关代码进行讲解。 目录: 前六章主要讲的是找茬类游戏的设计思路和一些算法的讲解。 从第七章开始,讲的就是引擎的代码。 想好找茬这种类型的游戏主要算法 (难度:★★☆☆☆☆☆☆☆☆) 不同区域算法的编写 (难度:★★★☆☆☆☆☆☆☆) 不同处坐标等相关数据的储存 (难度:★★★☆☆☆☆☆☆☆) 第四章 怎么才能避免重复的图片出现 (难度:★★★★★☆☆☆☆☆) 第五章 图片的相关制作 (难度:★★☆☆☆☆☆☆☆☆) 第六章 程序的美化 (难度:★★☆☆☆☆☆☆☆☆) 教程部分: 第一章 想好找茬这种类型的游戏主要算法: 找茬类游戏最核心的代码就是找到两幅图片不同处的算法,那么我们要有个思路,应该怎样写这个算法。请大家看到图一。大家是不是发现了这个坐标系跟我们数学中的坐标系有些不同,对的,编程中,y轴的正半轴方向是和数学坐标系中正半轴方向相反。通常,我们的鼠标当前坐标为(X,Y),我们设(x1,y1)这个点(也就是图中红点)是不同处的坐标。 数学好的同学是不是不需要费多大力就能想出这个代码。有同学会讲这还不简单么,点中这个不同处的点不就是要让X=X1 ,Y=Y1同时成立么?当然,不可否认这种思路。可能也有同学想到了,对!就是,这只是个点,而不同处是一块区域,只靠这个点是不能判断不同处区域的。下面请大家看到图二。 因为不同处是块区域而不是点,所以我们可以把这块不同处的区域看做是一个矩形,那么图二中,这个矩形的长为A,宽为B,(x1,y1)是这个矩形的对角线焦点。请入门同学注意,这里矩形的长和宽的单位是和坐标系的单位一致的,不必深究。我们的程序需要识别不同处区域是不是被鼠标点中,也就是鼠标的当前坐标(X,Y)在不在矩形的范围内。OK,这一章就讲这么多,东西不多,大家可以先别急着看第二章,想想这个算法应该怎么写。更多内容请看第二章。 ---------------------------------------------------------------------------2013-02-09-------------- 未完待续… 祝大家新年快乐! 作者:狡猾的皮球 QQ:871245007 第二章 不同区域算法的编写 OK,大家继续看到图二。 运用我们的数学知识,要识别鼠标是不是点中的矩形区域,可以这样写。 若xx1-A/2(也就是鼠标的横坐标要大于矩形左边宽所在的横坐标) xx1+A/2(也就是鼠标的横坐标要小于矩形右边宽所在的横坐标) Yy1-B/2(也就是鼠标的纵坐标要大于矩形左边宽所在的纵坐标) Yy1+B/2(也就是鼠标的纵坐标要小于矩形左边宽所在的纵坐标) 同时成立,则鼠标当前坐标就在矩形区域里了。想想看,是不是这样。在鼠标的单击事件中写出这些相对应的代码就可以判断鼠标是否点中的可识别的这块区域。 这里,我再简单的讲一下判断圆形区域的算法(找茬类游戏一般都用矩形算法的,圆形算法有一定的局限性)。这个代码也非常的简单。请大家看到图三。 这是一个以(x1,y1)为圆心,R为半径的圆。这里只需要用一个勾股定理就能轻松判断鼠标是否点中圆形区域。 若 (x-x1)^2+(y-y1)^2R^2 则点中圆形区域。这里(x-x1)^2相当于直角三角形底边的长的平方,(y-y1)^2相当于直角三角形高的平方,这两个相加也就是直角三角形斜边的平方。若斜边的平方小于圆半径的平方,那么可以确定,鼠标在圆内。我们没有必要去开方,因为开方的话,计算量会增加,而且还牵扯到正负号选取问题。 好了,这一章就到这里。 -------------------------------------------------------------------------------2013-02-10 15:00--- 未完待续 不同处坐标等相关数据的储存 不同处坐标也就是可识别的矩形区域的矩形对角线交点。那么我们应该怎么记录它?我现在用的方法是定义X1到X5储存五个不同处的横坐标,同理储存纵坐标Y1-Y5。矩形的长宽也用同样的方法储存。我调用它的方法就是将每张图片都编号,

文档评论(0)

1亿VIP精品文档

相关文档