今天心血来潮,想搞个“大鱼吃小鱼”的小游戏耍耍。这游戏大家小时候都玩过,规则简单得很,就是操作一条鱼,吃掉比自己小的鱼,躲开比自己大的鱼,然后越长越大。
我一开始琢磨着,这玩意儿应该不难?不就是画几条鱼,然后控制它们动起来,再加个碰撞检测嘛
准备阶段
先找素材。我可没那本事自己画鱼,就在网上扒拉一些鱼的图片,各种大小、各种颜色都有,看着还挺像那么回事。
然后是搭环境。我直接用个自己平时画图用的草稿代码,能显示图片,能处理鼠标键盘输入,这就够用。
开始动工
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
第一步,先把我自己控制的那条鱼画出来。我选条金灿灿的小鱼,看着就喜庆。把它放到屏幕中间,然后用键盘的方向键控制它上下左右移动。
这一步还算顺利,没遇到啥大问题。小鱼能听话地跟着我的指令游来游去。
要加其他鱼。我一口气加十几条,有大有小,让它们在屏幕上乱游。为让它们看起来不是傻乎乎地瞎转悠,我还给它们加点随机性,有的快有的慢,有的还会突然变个方向。
- 设置不同大小的鱼
- 让鱼有不同的游动速度
- 让鱼随机改变方向
然后就是这游戏的灵魂——碰撞检测。我得判断什么时候我的鱼碰到别的鱼,碰到之后又该咋办。
一开始我想得简单,直接判断两条鱼的矩形区域有没有重叠。结果发现,这效果也太糙,有时候两条鱼明明看着还隔着一段距离,就被判定为“吃掉”。不行,这得改。
后来我换个方法,用两条鱼的中心点距离来判断。这样就好多,基本上看着是碰上,才会被判定为“吃掉”。
吃与被吃
碰撞检测搞定,接下来就是“吃”和“被吃”的逻辑。
如果我的鱼碰到比自己小的鱼,那就把它“吃掉”——就是把它从屏幕上移除掉,然后我的鱼稍微变大一点点。
如果我的鱼碰到比自己大的鱼,那很不幸,我就“被吃”——游戏结束,弹出一个“Game Over”的提示。
为让游戏更有趣,我还加个分数显示。每吃掉一条小鱼,分数就加一点。这样玩起来也更有动力。
修修补补
基本功能都实现,接下来就是修修补补,让游戏体验更
我加点音效,吃鱼的时候“咔嚓”一声,被吃的时候“嗷呜”一声,听着还挺带感。
我还调整鱼的生成速度和移动速度,让游戏难度适中,不至于太简单,也不至于太变态。
我把整个游戏界面美化一下,加个背景图,换个好看点的字体。这下看着就更像个正经游戏。
大功告成
折腾一天,这“大鱼吃小鱼”小游戏总算是做好。虽然跟那些专业游戏没法比,但自己玩玩还是挺有意思的。看着自己控制的小鱼一点点变大,称霸整个屏幕,还是挺有成就感的。
这回做小游戏,也算是复习一下以前学的东西。从画图、处理输入,到碰撞检测、游戏逻辑,都自己动手过一遍。感觉还不错,下次有空再整个别的玩玩。