使用克隆知识制作植物大战僵尸里豌豆射手的效果



这节课我们学习克隆,克隆的原意是指无性繁殖或营养繁殖的方式培育植物,后来应用到动物繁殖领域,世界上第一只被克隆的动物是克隆羊 — 多莉,



在我们的编程世界里,我们可以通过克隆的方式重用代码,重用舞台的各种元素,甚至直接重用角色,今天我们就用克隆的方式来实现一款小朋友们非常熟悉的游戏《植物大战僵尸》里的一个场景 —— 豌豆射手吐出豌豆的效果,后续我们会系列的把《植物大战僵尸》这个游戏实现一下,是不是很期待啊?


本节课知识点:使用克隆代码块完成豌豆射手吐出豌豆效果



首先,我们通过之前学过的造型切换的知识点来完成豌豆射手摇晃起来的效果,豌豆射手的代码就完了,我们主要的工作是要完成豌豆发射出来的效果,


小明:这个简单啊,直接让豌豆的横坐标增加就可以了,这样实现不就行了吗?


阿达老师:非常棒,可是怎么实现豌豆重复发射的效果呢?

小明:可以在角色区再复制一个豌豆子弹,这样我们就有两个子弹了

阿达老师:没错,但是如果要发射成百上千个子弹,那岂不是要复制无数个角色了吗?



这样我们的程序会非常不好维护,运行起来也会非常的慢,我们怎么解决这个问题呢?



这里我们可以用克隆的方式实现,我们可以不断的克隆豌豆子弹,来实现发射的效果,首先,从控制模块组里拖动“克隆自已”代码块出来,然后加上一个无限循环的代码,




我们双击一下这段代码看一下效果吧,我们用鼠标拖动一下看看,咦,拖走一个,还有一个,再拖,仍然还有,在原来的坐标位置上我们克隆出来了好多个克隆体,



有了克隆体我们就要对克隆体进行编码,所以,需要把“当作为克隆体启动时”代码块拖动到脚本区,这里要说明一下,我们在这里给克隆体的编码适用于所有克隆体哦,


第一步,需要让克隆体显示出来,我们再从控制模块组里拖动条件循环语句出来,在重复执行的条件判断里加入“碰到僵尸”的条件,在重复执行的内容里面加入将x坐标增代码块,把x坐标增加的步长改为-1,试一下,



大家看所有的豌豆子弹碰到僵尸后就停在了那里,这是为什么呢,




因为我们循环的条件是碰到僵尸后就满足了退出循环的条件,但是退出循环之后我们并没有做任何其它操作,在这里豌豆子弹打到僵尸身上后,它就完成任何了,克隆体的生命周期就结束了,这里我们要对克隆体进行清理,直接把克隆全删除就行了,





从控制模块组里把“删除克隆体”代码拖出来,放到循环语句的下方,好,大功告成,今天我们就讲到这里吧,我们下节课见


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 添加拖拽植物的按钮添加一个精灵,命名为SunFlower_Bar(前面的基本NGUI操作都做过了,这里就不详细写了...
    Joe_Game阅读 1,536评论 0 0
  • 如果说用一个词来形容我的三月,我想说是“改变”,就像潇洒姐书里所说,就像是早就种在心里的种子,被激发于是发了芽。我...
    耳朵朵朵啦阅读 99评论 0 0
  • POJ 1004 题意 求平均值 思路 水题
    vanadia阅读 310评论 0 0
  • 也不知道是从什么时候开始喜欢文学的,犹记得,是从四年级开始喜欢看小说的吧!觉得里面的故事看起来很有味道。后来,上...
    佳之如许阅读 309评论 2 7
  • 一、写一段话,包含有触觉和身体感觉 小燕儿急忙赶到老人院时,爸爸已经坐在电梯前的沙发上等她了。“妈妈怎么走得这么着...
    若水柔阅读 356评论 3 0