前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pktball游戏解析

pktball游戏解析

作者头像
沙因Sign
发布2018-04-18 10:08:50
8630
发布2018-04-18 10:08:50
举报
文章被收录于专栏:Sign

之前的『好玩的小游戏推荐』,只是罗列了一下图,感觉没啥意思,所以改成简单的游戏解析了。

首先有个观点要了解一下:

有部分非程序员的同学认为,在程序员眼里,大部分电脑里显示的东西都是代码。

那是不可能的。

就算网页程序员,第一眼看网页,看的也是内容,可能关注点会不太一样,但是绝不可能第一时间在脑海里转成代码。

可以自己试一下,当你不说话,只是在思考时,你大脑里默认语言是最常用的普通话还是方言或英语?

解析是带有目的性的,用工具去看。

就好像电竞比赛的时候,如果不涉及到自己队伍相关利益的时候,教练作为观众也是在享受比赛的。而分析之类的,是赛后的复盘和解析。

当然,因为全面解析太麻烦了,本来也是为了方便周更而开的,所以简单解析就不用工具了,直接读取画面信息吧。

pktball是个网球游戏。

操作很简单,按住拖动移动角色。松开手指角色挥拍。如果拖动的距离较远,角色还会进行大力挥拍。

本质上是最早的电子游戏『pong』的变种。

当然,这种强行比较很不好。将两个不一样的东西拿来对比,很容易引起反感。

比如对着谷歌说,你们就是那家美国版的百度吧?

总之开始解析游戏吧。

游戏流程

游戏开始菜单

游戏开始界面有3个主要区域,左上角设置,左下角选角色,右下角开始。而右上角是『消费系统』的信息。

(要从这种层面开始解析么?)

……

(算了,跳过吧)

进入游戏

右下角是游戏开始的提示操作,主界面是游戏信息。

这种方式有点特别,因为一般游戏不会把游戏画面和分数结算直接融合在一起……

游戏主体

这个游戏里是有碰撞框的概念。其中里面有4类框体。

第一个是角色的框,角色框体似乎很小,因为这个框体的作用仅仅是用来限制角色的移动范围,而不会与其他框体进行碰撞。

第二个图中的红色框体,则是挥拍时产生的作用框体,这个框体只有在手指松开后会出现在画面内一段时间,然后消失。这个框体可与球的框体进行碰撞判定。

第三个是图中蓝色框体,蓝色框体可与挥拍的红框碰撞,也会与边界的淡蓝色框碰撞。不同碰撞调用不同的反馈,与挥拍碰撞,改变球的图像,然后调整飞行方向,与边界框碰撞,如果该边界框不属于界外,则改变飞行方向。

第四个框体则是边界的淡蓝色框,淡蓝色里写入的反馈,主要是如果是处于边界的框体与球相撞,则判定胜负,其他的框不做任何反馈。

当这些框体完成后,剩下就是碰撞判定的计算了。

因为没有用工具去解析,所以只能大致给个方案,碰撞判定最大的计算量在与挥拍与球的碰撞,而球新的方向计算应该是两个碰撞框的中心连接线的方向。之后让球沿着新的方向加上特定的速度(比如划屏时,玩家挥拍的力度判定加大,则加大球速),球就会正确的飞向对方。

最后,这是没有借助工具的简单解析,只是提供一个思路,pktball是否真的这么做的,完全不知道。

那么根据这个思路做,就一定能做出pktball吗?

……

不,就算思路对了,后续真正动手做的时候,会发现有一大堆奇怪的逻辑陷阱与bug,这个解析顶多只是提供一个开始动手的理由。

这个依然是个看情况更新的系列~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Sign 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档