Scratch制作九宫格拼图小游戏随记1105(网络版01)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Scratch制作九宫格拼图小游戏随记接触这个软件纯属偶然,制作这个小游戏也是偶然。

感谢相关领导给我参加八月培训的机会,这是我第一次接触scratch这个软件。甚至在参加正式培训之前,虽然已经按照要求下载并安装,但还是没用心动手去实践,只知道这是一款可视化的编程软件,类似年初接触的Mixly软件,但应该比之更简单。

培训期间动手跟着做了几个小作品,开学之后,又针对其中的两个游戏垃圾分类和打地鼠(我称为打地猫)进行了完善,并分别升级到1.0版本和2.0版本。

开学之后因为教学任务较重,停了一段时间。进入十月之后,又陆续做了几个主题的制作。首先是参加区级学校教研的时候,所听的教学内容是VB冒泡排序法。不知为何课堂之上我就动了用scratch制作实现冒泡排序法的念头,还好经过查找资料和研究,得以实现。接着鬼使神差想做推箱子,百度一下(中国人,用国货),感觉难度特别大,要制作箱子,还要PS背景,有点浅尝则止了。只是借鉴腾讯视频上的两个视频,做了一些简单的制作,比如角色的推动。但是考虑到如果要把游戏做成闯关级别,难度很大,于是就没有深究,甚至连如何让箱子在指定区域内出现时不重叠,也没实现。正是因为这个如何让箱子随机出现在指定的坐标区域,让我产生了制作拼图的想法。

起初,也只是有最初的想法,并没有整体的设计,却有个不成为的规定,要做就做一个大点的,值得玩的游戏——天平座的人,就是这么作践自己,哎!

最初的想法,就是想做一个给自家小朋友玩的游戏,所以开始着手制作的时候,就选择了小朋友熟悉的图案——来自小马宝莉家族的云宝。

九宫格拼图,就是将图案的九个小片,随机分布在九宫格中,通过点击邻近的两个小图,实现位置互换,最终使得九张小图片都在相应位置的时候,操作成功,恭喜,you’re win.想当年大学时候,俺就用Authorware制作过类似的拼诗游戏。

说干就干,摸着石头过河,一步一个脚印,问题一个一个解决,one by one!

第一步:如何把图一分为九

Photoshop这个软件,虽不能说熟练掌握,但还是能熟悉操作的。可如何把图一分为九,而且是平分九块,还是有些棘手。如果是土办法,一块一块切,大小可以一致,但是拼起来就不一定能吻合了。

知之为知之,不知为不知,做人要谦虚,果断又百度一下,果然找到了办法,用PS中的“切片工具”,乖乖,认识这么久,我第一次如此印象深刻的记得这个工具,顺利搞定。

Photoshop切片工具云宝图片平分九块

第二步:九个小图片如何随机分布在九宫格上

本着着眼未来的思想,本人并不想把九个小图作为九个独立的角色存在,所以就必须用到克隆。

不(no)作(zuo)不(no)死(die),如果是每个小图片作为一个角色,随机分布,应该不难(九个独立的角色,可以利用随机数,每个数对应一个坐标位置,分别将每个小图片角色移动到相应位置。(详见下文克隆后放置))。而今是克隆体随机分布,而且是不能重复,好像就有些麻烦了。我这个脑子,书到用时方恨少。

第一个要解决的问题:产生不重复的随机数(1~9)

之前制作过的冒泡排序法中,产生随机数是可能出现重复值的,脚本和结果如下:

生成随1~10以内随机数的脚本运行结果现在制作的拼图小游戏,是要求九个小图片随机分布在不同的位置,也就是位置是不能重叠的,这也是在制作推箱子游戏中遇到的问题。知之为知之,不知知,又双百度一下。果然,有收获,只要在原来的基础上,添加一个判断,就全搞定,脚本和结果如下:

生成1~9以内不重复随机数的脚本脚本运行结果

随着第一个问题的解决,第二个问题随之产生:怎么克隆小图片,并随机分布显示?

之前培训中做过接苹果的小游戏,也掌握了克隆的使用,通过借鉴模仿,得到以下脚本:(设置变量I和J,重复执行9次,达到9个角色的目的,毕竟九宫格有九个小图片)

克隆小图片的脚本作为整屏时九宫图的坐标

为了方便入手,刚开始采用整屏操作,位置比较好判断,于是得到九个位置坐标(上右图)。

在图片放置的问题上,采用过两种方法:

第一种是克隆之后,在作为克隆体启动时,逐个将造型切换为“缓存列表”中的编号。运行的结果是每个坐标位置都依次出现九张小图片,然后又快速的移动到第二个位置,直到最后九张小图片全部出现在最后一个位置。脚本为下左图。

第一种方法的脚本第二种方法采用的“随机坐标”链表第二种方法,将九个坐标按照顺序添加到列表中,在结合产生的造型“缓存列表”,为了让随机坐标中的位数保持一致,方便读取,故而添加正负号以及“0”,使得所有数据都为8位数,请看下图“随机坐标”列表和脚本。

第二种方法采用的脚本

运行的结果是九张小图片,都只出现在最后一个位置。思想来去才发现读取出来的数据,不包括“+”号,正数前面的“0”也是没有意义的。

知之为知之,不知百度知,又双叒百度一下。这次的收获又惊又喜又愕然。全网共搜到两个有效的结果,一个来自MIT网(如下图,简单分析过后,貌似不是我想要,所以第一时间放弃了,抓屏也是后来补的),另一个来自CSDN网站的在线视频教程(收费99¥,看到收费果断在看到脚本的第一时间,就进行了抓屏,这也成了我的入手点)。工资这么低,自然舍不得,拜师不能,唯有偷师。怀着激动的心情,开始了学习之旅,这个算是游戏脚本的雏形(后来证实,也许被坑了,因为思维被限制了)。

相关文档
最新文档