捕鱼达人游戏制作浅析思路分析

棋牌游戏开发

games1

当前位置:首页 > 棋牌开发 > 棋牌游戏开发 > 正文

捕鱼达人游戏制作浅析思路分析

万博棋牌开发科技 2020-05-04 373


一、思想斗争   《捕鱼达人》这款游戏做的的确不错,相信许多人都已经玩过了。但是作为一个业余“码男”的我,玩玩怎么能尽兴,梦想自己也能写出这么一个还算是不错的游戏。终于在一个月黑风高的夜晚,我摩拳擦掌,跃跃欲试,YY良久,决定对它下黑手了!!!YY也许容易,但是老虎咬刺猬,无从下口啊,以前也没有开发过类似的游戏,肿么办!!!!没有头绪就先屡出头绪来,好了,现在开始!!!!   二、结构元素的分析   先分析下这个游戏的主要组成元素:场景、鱼、炮弹、炮台、激光塔、渔网、金币、还有那个销魂的背景音乐。元素看似不少,其实也就两种:动作元素和路径元素。动作元素——是指位置不变,但是动态显示的元素,是有活力的。路径元素——为动态或者静态的元素提供路径支持。   现在看一下这两种元素是如何表达上面的元素(场景、鱼、炮弹、炮台等)的,以游动的鱼为例:   鱼:多帧图片组成动作元素,用来展示鱼的生机,比如尾巴摆动;     游动:一列点组成路径元素,比如直线、曲线(用连续的分段向量表示)等。     看完这两幅图片,大家肯定就有想法了。实现播放一张连续的png图片来表示鱼,将鱼从上面的轨迹始端移动到末端就完成的游动的鱼,其他元素类似。像炮台连移动都省掉了。轨迹是由多段直线组成,问题又简化了,只要实现一条线段的移动,其他就都OK了。具体实现比较easy,唯一注意一点的是,路线是有方向的,计算鱼的位置需要用cos计算角度,用sin判断象限进行角度纠正。Cos象限方向为:正负负正,角度范围为0~180。Sin象限方向为:正负正负,角度范围为-90~90。单用cos或者sin是不正确的。   另外,鱼是有生命周期TTL的,当鱼游出边界或者被捕捞后,生命结束。   三、元素间的相互作用(碰撞检测)   炮弹和渔网可以打渔,炮弹从可转向的炮台发射,鱼被捕后显示动画金币,,,,,,   上面的炮弹和渔网可以捕鱼是最难得一个,其余都比较easy。有人不禁会说,将鱼看成是矩形,检测炮弹碰到鱼不就可以了么?没错,捕鱼达人里面也的确是这样做的,但是有一点估计大家没有想到,先看图:     这种情况下很容易判断炮弹(黑点)在鱼(矩形区域)内。但是下面这种情况要怎么判断呢?     这种情况需要利用矩阵运算对矩形和黑点同时进行绕原点O的旋转,旋转角度如图,这样就转换为上面那种简单的情况了。   但是如果出现下面这种情况要怎么办呢?已知矩形在X1OY1坐标系中的位置,黑点在XOY坐标系中的位置,O1点在XOY坐标系中的位置,图中所示的夹角大小。怎样判断炮弹在矩形区域中呢?     这种情况先我们不转换矩形,而是将黑点旋转并平移转换到X1OY1坐标系,然后又和上面情况一样了,简单吧!!!利用矩阵计算可以大大的简化运算量,爽!!大学没白念!!!

提交需求或反馈

Demand feedback