简单植物大战僵尸制作(1)
本帖最后由 KevinHu 于 2020-5-17 21:29 编辑简单植物大战僵尸制作(1)——制作背景和声音
想必大家都玩过“植物大战僵尸”这款游戏吧。《植物大战僵尸》是由PopCap Games(宝开游戏公司)开发的一款益智策略类单机游戏。玩家可以通过武装多种植物切换不同的功能,快速有效地把僵尸阻挡在入侵的道路上。记得我小时候就非常喜欢这款游戏,可是爸妈不让玩……T_T
这系列教程,我胡某人就带领大家来自己制作一个简单的植物大战僵尸游戏。
本系列教程运用Scratch3来进行演示。
这节课,我们先来制作最基础的部分:制作背景和声音。
这节课需要的资源:
**** Hidden Message *****
制作加载页面
第一步,先把这个可爱的小猫咪给他删掉。{:10_256:}
第二步,选中舞台,依次点击:背景 ==> 选择一个背景 ==> 上传背景,找到素材包里的“背景1.jpg”,上传上去,并删除掉原来的白色背景。
第三步:在选中背景图,点击“转换为矢量图”(PS:不做这一步也行,但是因为位图有分辨率,所以写的字可能没有矢量图清楚),再点击“文本”,在你想要插入的位置单击,把字打上去(这里的字是“Space To Start”意思是按空格键开始),输入完成以后点击“选择”,调整好字的位置、大小和颜色。
第四步:把这个背景改一下名(就叫“加载页面”吧)
制作游戏画面
第一步:再导入素材包中的“背景2.jpg”
第二步:把这个背景也改个名字(就改成:“游戏画面”吧)
制作植物卡片和阳光的数量
第一步:选择:选择一个角色 ==> 上传角色,依次从素材包中导入:“豌豆射手卡片.sprite3”,“向日葵卡片.sprite3”,“樱桃炸弹卡片.sprite3”,“坚果卡片.sprite3”,“土豆地雷卡片.sprite3”,“寒冰射手卡片.sprite3”。
第二步:把所有角色拖动到指定的位置
(由于时间太长,这里就不放图了)
第三步:制作显示阳光数量的变量
点击变量 ==> 新建一个变量 ==> 输入变量名(阳光数量)(注意:这里要选“适用于所有角色”)
然后右键点击变量,点击“大字显示”,在把变量拖动到合适的位置即可。
现在是不是感觉效果出来了?{:10_256:} 但是还需要加一些切换的代码才能在两个页面之间切换。
实现两个画面之间的切换
要实现两个画面之间的切换的话就要用到外观里的“换成……背景”积木
把“换成……背景”积木拖动到代码编辑区,选中你想切换的背景,点击运行,就可以切换到那个背景了
我们要实现按绿旗后显示加载的界面,按一下空格便可开始游戏,所以可以这么编辑代码:
(注:编辑代码时要先选中背景,再在背景的代码区中编辑代码)
好,现在手动把页面切回到一个背景,然后点击绿旗,再按空格,发现切换到了第二个背景了。
可是,我们发现一个问题:在没有按绿旗的情况下直接按空格也会切换到游戏界面,而且按绿旗的时候不会切换到加载背景{:10_269:}
这是因为,我们没有设置“当绿旗被点击”是的操作。
可以在代码区添加如下的代码:
可是,还没有解决没有按绿旗是按住空格就会自动开始的问题{:10_266:}
我们可以把代码稍微改一下,改成这样:
是不是突然可以实现了!{:10_298:}
这样,当绿旗被击后,等到按下空格才会把背景切换到游戏页面{:10_256:}
是不是发现在加载页面时,这个变量和这些植物卡片很碍眼{:10_284:}
我们可以在绿旗被点击时把这些隐藏,在切换到游戏页面时发出一个广播“开始游戏”,当接收到“开始游戏”的广播时,再把这些东西显示出来。
把背景的代码增加一个“广播游戏开始”
再把每个植物卡牌里都添加上如下代码:
最后再在背景里设置隐藏变量:
这样,再运行程序,是不是就好了!{:10_298:}
效果图:
为游戏添加声音
小甲鱼曾经说过:
没有声音的游戏就好比是不沾番茄酱的薯条,忘记带枪的战士……
是的,我们现在就要让游戏加载背景音乐!{:10_265:}
选中舞台,进入声音这一栏,点击选择一个声音 ==> 上传声音,把素材包里的声音导入进去
在代码区新建这么一块代码:
现在再点击绿旗,是不是就有声音了!{:10_305:}
本期的教程就先到这里。
由于本人是学生党,所以更新速度可能会有点慢……{:10_304:}
第一次写教程,有什么不好的地方还请大佬们多多指正{:10_303:}
最后,如果喜欢,别忘了评分+订阅哦~{:10_281:}订阅传送门
下一篇:传送门 支持 牛批牛批牛批 给我素材包让我改天用 Python 实现 赞。不过这个游戏的精髓的数值系统。 _2_ 发表于 2020-5-14 21:46
给我素材包让我改天用 Python 实现
其实pygame做也不难
就是按键检测+碰撞检测 本帖最后由 _2_ 于 2020-5-15 11:14 编辑
wuqramy 发表于 2020-5-15 08:55
其实pygame做也不难
就是按键检测+碰撞检测
,我好好想想怎么弄 跟着大神好好学习
跟着看看 学习 你好 e 牛逼 zhan 看看 {:5_109:} 学习学习 你好 谢谢楼主分享 素材先拿走了,现在等级还不够不能评分,下次一定 学习