Scratch课程系列:小游戏制作人物移动篇

网友投稿 2018-07-09 11:04

Scratch在做简单的2D平面小游戏非常方便。格斗游戏是其中一大类,而人物的移动又是基本的要素。

本篇要做到能够控制人物左右移动、原地跳跃和蹲下的基本动作。

首先开启Scratch,在下方角色栏点击上传角色档案,将五个基本动作图都汇入。(Scratch的好处为中文档名不会有乱码,且当汇入GIF时,在造型区会列出该图的连续动作图片,非常方便)

https://cdn.china-scratch.com/timg/180711/11042GB8-0.jpg

接下来进入到程序区,定位起始点,选择角色区里的等待,拖曳角色至左下角适当的位置,点选动作,并将X、Y坐标勾选,便可看到该图片的坐标位置,最后放入程序积木,概念是:执行程序时,显示角色并移到起始位置,后面的四个动作图片也以同样的方式放入程序。

https://cdn.china-scratch.com/timg/180711/11042IR0-1.jpg

接着要让图片先在原地动起来,除了等待外,其他四张图片分别在按上、下、左、右键时能动起来。在背景里的程序区定义四个动作的变量并设为0,按下特定按键让特定动作的变数变为1。然后在角色里的程序区设定变量为1就换「下一个造型」。

https://cdn.china-scratch.com/timg/180711/11042J036-2.jpg

https://cdn.china-scratch.com/timg/180711/11042J110-3.jpg

再来让我们的角色能够往前移动,加入「移动10步」(后退则「移动-10步」),并放入IF…ELSE设定在接近边缘时,将X坐标设为200,这样可以做到不超出边缘的效果。

https://cdn.china-scratch.com/timg/180711/11042L935-4.jpg

到这边会发生一个问题,也就是当同时按下二个按键时会有分身的情况,要解决这个问题,需将条件设定严格一点「如果其中一个变量为1且其它变量为0时,才显示造型」,背景程序区也要更改为「按下按键时,该变量为1,其它为0」。

https://cdn.china-scratch.com/timg/180711/11042JS6-5.jpg

https://cdn.china-scratch.com/timg/180711/11042LR0-6.jpg

在等待的设定,人物不动的时候显示等待,如果前进、后退、蹲下、跳跃才隐藏。前进和后退都会改变图片的位置,所以当前进或是后退时,等待的图片都要移到该位置才行。

https://cdn.china-scratch.com/timg/180711/11042V1C-7.jpg

最后,跳跃的设定较为特殊,因为当单击按键时,就要播放完整的跳跃动画,而在这过程当中,跳跃变量都要设为1,直到动画结束才将变量设为0。

https://cdn.china-scratch.com/timg/180711/11042U910-8.jpg

到这边您的人物已经可以前进、后退、跳跃、蹲下了!!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com