既然背景图片加载好了,狼已经套住了,那么接下来自然应该让灰太狼最喜欢的肥羊们上场,可是肥羊们应该放在哪儿呢?总不能挨着挨着放啊。
这个时候我有点狐狸捉刺猬——无从下手的感觉,所以只能够向老爹求助了。
老爹笑而不语,默默打开浏览器,在搜索引擎里边输入「推箱子」三个字,潇洒干脆地敲击了回车键。
「看到没,推箱子游戏总共有5中元素:角色、箱子、目标、障碍物和背景,并且这其中蕴含了一些玄机,如果随便乱放很可能导致箱子根本就没有办法全部移动到目标上面。」
老爹打开了一张经典推箱子游戏的地图,详细和我说起了上面的门道。
「现在咱们的背景是青青草原,角色是灰太狼,箱子自然就是可爱的小羊们了,至于目标嘛,就是这些黑锅,灰太狼最终的目标是把所有的羊都送进锅里煮着吃,至于障碍物嘛,就是这些树咯。」
老爹一边讲解,一边将昨天冒着坐牢风险爬下来的素材展示给我看。不管是灰太狼还是小羊们,以及黑锅和树都被老爹处理成了相同的宽和高。
「灰太狼这货也是,其他狼都吃生羊肉,它非得吃涮羊肉,多少次小羊们都是在涮羊肉的过程中逃跑了。」
我摇了摇头感叹了一句。
「不让羊跑了那不就没戏了么?接下来还怎么演?」
老爹无奈地笑了笑。
「有道理!」
我深以为然地点了点头。
「好了,你现在来数数,如果把灰太狼、小羊们、黑锅和树都当成一个格子的话,这个地图上有多少个格子?」
「啊!真要数啊,看上去有七八十个吧。」
我苦着脸说道。
「你看哈,这个地图其实是一个14行15列的表格,只不过这个表格中有些地方是空着的,有的是障碍物、箱子、目标和主角,如果我们一个一个的来加载,确定它们的位置,这是一个多么大的工程量?」
「那怎么办啊?要是按照老爹你这么说的话,那得等到何年何月才能完成啊?」
听完老爹的话,我满脸愁容。原本以为实现这么一个游戏应该不难的,哪曾想是困难重重,看来老爹经常说万事开头难,中间难,结尾更难果然是真的。
不过我转念一想,不对,老爹既然这么说肯定有什么解决方法。
「老爹,你直接说怎么解决吧,别卖关子了。」
我小心试探道。
「你个鬼丫头,居然这么快就反应过来了。好吧,那我就跟你说说怎么解决这个问题。
首先,我们得把窗体的工作区分成15x14个格子,这样窗体就和地图对应其起来了,这一步倒是简单,只需要设置窗体工作区的宽度和高度就可以了。
灰太狼、小羊们、黑锅和树都是正方形的图片,并且变长是50像素,那么窗体工作区的宽度和高度分别是15x50和14x50,也就是750x600像素。
当然了,这个格子是不存在的,只是我们人为划分的。」
老爹为了让我更容易理解,充分利用了画图工具,图文并茂地向我解析这其中的道理。
「为了方便描述和分析,我们先用一个8x8的表格,然后对灰太狼、小羊们、黑锅和树进行一个转换,假设用数字0代表空白表格,1代表灰太狼,2代表羊,3代表树,4代表黑锅的话,那么整个地图就变成了这样:
0 0 3 3 3 0 0 0
0 0 3 4 3 0 0 0
0 0 3 0 3 3 3 3
3 3 3 2 0 2 4 3