本篇文章将与您分享如何使用Scratch软件,以射击游戏为例,从零开始制作游戏,
在制作游戏前,我们要先知道游戏本身需具备哪些要素?简单来说,角色、场景、音乐是组成游戏最基本的三个要素。游戏就是构筑一个虚拟的世界或情境,让玩家能够身历其境,而「角色」就是玩家在游戏中的代言人;「场景」是针对游戏的故事背景、类型而建立的环境;最后也是最重要的「音乐」,除了视觉的刺激也要听觉的享受,选对音乐能够让游戏加分不少。不管是制作哪一种类型的游戏,总是离不开这三项基本要素,接下来,让我们从头开始制作游戏吧。
首先要决定这款游戏的类型,「射击类」、「运动类」、「反应类」、「益智类」、「动作类」、「角色扮演类」、「策略模拟类」,考虑到Scratch本身无法执行太大的程序,所以我们选择「射击类」。这款游戏有点类似骨灰级游戏「小蜜蜂」,角色在画面底下左右移动,并且发射子弹射击从画面上方落下的敌人,那么就请您跟着我们一步一步来设计吧!
角色是玩家在游戏中的代言人,角色本身的形象、言语、行为能否与游戏一致,通常会是玩家认同这款游戏的重点,所以选择适合的角色也很重要。
Step1:汇入角色。
我们先从从网络上下载一张飞机的图片,并汇入至Scratch角色区内。在新增角色/上传角色档案,选择刚才下载的图片,确定后加载。
开启角色档案
选择下载的图片
Step2:控制角色。
角色汇入后,我们要让角色能够移动,藉由键盘上的左、右键,控制飞机左右移动,并同时设定角色的大小与初始位置,程序如下。
控制角色左右移动并设定大小与初始位置
Step3:设定子弹。
现在我们已经可以使用键盘控制飞机左右移动,接下来我们希望当按下空格键时,子弹能够从飞机射出。首先在新增角色/画新角色中,绘制子弹的图案,并且在「控制区」的积木内,找到「建立自己的分身」。一开始让子弹隐藏起来,等到按下空格键时,让子弹建立自己的分身,产生分身的同时显示图案,并且将图案的y坐标重复增加10直到大于170后删除分身。
按下空格键,建立分身
产生分身时,将y坐标重复增加10
若要同时射出二颗子弹,则只需在另一颗子弹设定,当分身产生时,将x坐标改变30
Step4:设定敌机npc。
接着我们要在画面上方,设定敌机能够随机出现,并且当敌机被子弹碰到时,会自动消失并爆炸。程序相当容易,一开始先隐藏,初始化大小与位置后,重复执行建立自己的分身,当分身产生时,显示并让分身的x坐标在-210~210之间随机选一个数,这时候敌机要能够从画面上方往下移动,直到碰到最底部或者碰到子弹(角色2、角色3),为了制造爆炸的效果,加上条件如果碰到子弹就切换成爆炸的造型(boom2),等待0.2秒后隐藏。
初始化大小与位置并建立分身。
设定当分身产生时,如果碰到子弹或是y坐标小于-180则跳出重复执行;加上条件如果碰到子弹时,将造型切换成爆炸的图片。
Step5:设定血量、音效。
新增角色
从角色范例库中找到爱心图案
在爱心图案中设定初始大小与位置
在背景中新增并初始化变量「血量」,设定条件如果变量分别等于2、1、0时,广播heart3、heart2、heart消失。
在npc1中增加条件如果碰到角色1,则切换造型爆炸并将血量变量减少1。
分别在三个爱心里,设定当接收到广播时,隐藏图案。
在子弹(角色2)和npc1中分别加入射击、爆炸音效
在角色2中加入播放音效
在npc1中加入爆炸音效
Step6:设定背景图片、音乐与开始画面。
最后我们要在背景中汇入适合的图片,您可以上网找寻自己喜爱的图片,我们使用新增角色/画新角色,将背景倒入淡蓝色当作天空,并新增三朵白云。为了让白云有移动的感觉,建立分身,并设定让分身产生在x坐标随机产生,并重复改变y坐标。新增背景当作开始画面,加入「Press “a” to start」字样,按下a键开始游戏,并加入程序,当按下a键,切换到背景2并广播「游戏开始」播放背景音乐。
在背景中倒入淡蓝色并新增三朵白云。
分别设定三朵白云的移动与产生方式
新增开始接口的背景,您可以选择从范例图库汇入、画新背景、从网络下载并汇入。
设定背景程序,当按下a键,则广播游戏开始并播放背景音乐。
最后要特别注意的是,我们在背景中设定了条件「广播游戏开始」,也就是说,所有的
角色都要接收到广播「游戏开始」时,才能开始运作,所以,别忘记替换所有角色的「当绿
旗被点一下」成为广播「当我接收到游戏开始」。
角色一的「当绿旗被点一下」
角色一的「当绿旗被点一下」替换成「当我接收到游戏开始」
游戏制作的基本要素:角色、背景、音乐,您可以利用这三元素不断延伸、制作属于自己的小游戏,熟练以后,您还可以挑战更复杂的角色扮演与策略模拟游戏,当然,本作的射击游戏中,还可以加入分数、时间、敌机攻击等丰富的内容,让小游戏更完整,Scratch是一款非常好上手的程序设计软件,对于想快速设计简单的游戏获得成就感的玩家,是不错的选择喔!!
==================================