11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 5190|回复: 17
上一主题 下一主题

[AS 开发 & 技巧] 【9RIA—iloveas】— AS3游戏实用技巧(20):一行代码判断刮奖、吃饼等游戏的完成度

[复制链接] TA的其它主题
发表于 2018-12-14 15:53:46 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 TKCB 于 2019-3-19 09:10 编辑

转载:9RIA游戏开发者社区(天地会)
作者:iloveas(大神)


总目录:[原创]AS3游戏开发实用技巧汇总




擦除是一类蛮有意思的游戏,在iloveas刚注册9ria的时候就看见有朋友在问答区里讨论相关的技术:
http://bbs.9ria.com/thread-225367-1-1.html

最佳答案给了一个用getPixel32进行暴力判断的demo。嗯,这方法确实很精确,效率也还不错,但是iloveas总感觉缺少了点什么,也许就是大家现在常挂在嘴边的“逼格”了。

这种需求的难点在于不能以100%作为完成的标准,就好比橡皮擦不能把铅笔字给完全擦干净一样,多少都会残留一点痕迹。在游戏里面我们也要把这种情况模拟出来,不然玩家可能要在那剩下的1%上面浪费不少时间。这也就是当年那位大神需要用暴力循环的原因之一。

类似的游戏还有刮奖,iloveas现在给出一个demo,其实只要把刮奖卡里的数字部分擦出个80%左右就知道自己拿的是什么奖了,而不必把整个刮奖区都擦完。

只要红色矩形框住的区域被擦除的差不多(半透明的点也算一部分完成度),界面中就会告诉玩家所得的奖项。

理论上,限制矩形区域,用暴力法也一样能得到结果。但实际上,我们有更简便的做法,只需要一行代码就能替代:
游客,如果您要查看本帖隐藏内容请回复
虽然这行代码的运行效率不见得比getPixel32好多少,但是它在处理半透明像素点方面非常好用。
这个api只能支持矩形区域,想要支持不规则形状的话,还得结合其他的位图技巧,这些你们将会在iloveas即将出版的《点睛:ActionScript3.0游戏互动编程》一书中学到更多,敬请期待!

iloveas今天介绍的api比较偏门,所以我相信知道的人不多,而且即使知道,也不一定能想到这api原来还能用到这样的需求上。所以我肯定得设置下......不说了,大家都明白。

然后也放上这个swf的源文件。纯代码,一个类,放Flash,FD,FB里都能编译。


游客,如果您要查看本帖隐藏内容请回复


类似的游戏还有iloveas的参赛作品:

http://bbs.9ria.com/forum.php?mo ... 9&page=3#pid3242374

游戏名字叫《我擦,我擦,我擦,擦,擦》,不过是一晚上赶出来的,很多东西没优化好,凑合着看吧。


不经意间,实用技巧系列已经写到了第20篇。本帖可能(注意是可能)会是这套教程的收官之作。藉此机会,iloveas来给大家聊下自己的一些想法。

其实iloveas不是个懂游戏的人,但却很容易被游戏里各种华丽的特效所吸引,所以iloveas一直希望制作一些以特效为主导的游戏,也就是把效果类的元素融入到游戏的核心玩法当中,从而给玩家不一样的视觉体验。正因如此,某游戏专家曾经给予这些作品的评价是“除了美术就没有别的卖点了”。这也就意味着iloveas的游戏没有乐观的商业前景。不过话说回来,能做出自己的特色并得到大家的认可,iloveas就已经相当满足了。

如今,iloveas也想到手机领域逛逛,然而在通往移动端的道路上,iloveas遇到了各种难以清除的障碍。

最初打算往Starling的方向发展,但是agal的限制决定了我无法通过GPU直接修改纹理数据并且在显存里直接更新,对于每帧都要改写位图的需求来说,iloveas只能先在CPU里处理好,然后再上传到GPU进行显示,但这么一来,效率就还不如直接用CPU渲染。

粒子系统是个好东西,只是要让粒子跟游戏玩法有交互的话,我还是得让CPU参与其中,不然对iloveas来说,这跟序列帧动画已经没太大区别了。

本来可以通过循环弥补一些不足,大不了在agal里多循环几十次,但很遗憾,agal不能写循环。

当然了,以上都是iloveas在agal1时代的一些想法,可能agal2已经改善了不少,只是iloveas还没去看。

不得不承认,iloveas在Staling/Stage3D方面还没打好基础,所以才会觉得很多东西实现不出来。

然后就是H5了,Canvas很不错,用好了它能实现很多绚丽的位图特效,只是iloveas比较懒,没去学它,又据说Egret,Layabox之流可以帮助AS3er们平滑过渡到H5。嗯,那我等一下工具好了。不过有时间也去学学,没点基础,拿到工具了也不会用。

至于cocos和u3d,对iloveas而言实在是太高端了,玩不转。但听说u3d可以写shader,只要算法足够强,啥特效写不出来呢?当然了,短期内还是先不搞这两样。

但不管iloveas以后的路怎么走,我都会像自己的昵称一样爱着as,无论你贫穷还是富有,健康还是有Bug,我都愿意用自己的生命一直守护着你,对你不离不弃,与你共度余生,直到死亡将我们分开。
发表于 2018-12-27 11:26:28 | 显示全部楼层
666 继续观摩一下                     
回复

使用道具 举报

发表于 2018-12-27 13:36:28 | 显示全部楼层
支持一下
回复

使用道具 举报

发表于 2018-12-27 13:48:17 | 显示全部楼层
我也写过
回复

使用道具 举报

发表于 2018-12-28 15:57:52 | 显示全部楼层
真心不错
回复

使用道具 举报

发表于 2018-12-29 10:31:43 | 显示全部楼层
感谢分享!
回复

使用道具 举报

发表于 2019-2-18 11:31:15 | 显示全部楼层
哈哈哈哈哈看看
回复

使用道具 举报

发表于 2019-4-19 11:15:40 | 显示全部楼层
膜拜格美大神
回复

使用道具 举报

发表于 2019-4-19 11:42:17 | 显示全部楼层
感谢分享,有时间看看
回复

使用道具 举报

发表于 2019-4-29 12:12:48 | 显示全部楼层
格美大神的得膜拜下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表