好的,资源我们已经找到了,接下来我们开始做游戏。

背景

  • 我们先来添加游戏的背景,在资源包中找到草坪的图片,就是下面这张
  • 把它上传当做背景,上传后一定记得转化为矢量图,然后调整大小以适用于舞台

角色

僵尸

上传僵尸的GIF作为角色,调整大小为55,并且在移动时变化造型,已达到边走边动的效果

植物

  • 上传豌豆射手,并调整好大小,制作动态效果
  • 上传豌豆射手的子弹,并可以使子弹循环发射,打到僵尸时消失

  • 当豌豆碰到僵尸时,要把豌豆换成碎裂的造型,并显示0.2秒后消失

但是这样编码后,会遇到以下几个问题

  1. 豌豆的发射时间间隔不确定。因为代码中仅设置了在豌豆飞行结束时等待2秒钟,但是从豌豆发射到飞行结束这段时间是不确定,豌豆会打到僵尸,而僵尸又在往前走,僵尸离植物的距离越来越近,豌豆飞行的时间就越来越短。
  2. 如果存在多个豌豆射手,他们要各自发射豌豆,那豌豆角色必须要克隆
  3. 豌豆射手只有在该路径上有僵尸时才发射豌豆,那么怎么检测该路径上是否有僵尸
  4. 僵尸也要按照固定的路径从地图外走进来,那路径怎么固定?
  5. 植物的摆放位置其实是固定在草坪格子中央的,那么怎么固定植物的摆放位置?
  6. 僵尸的血量怎么计算,即僵尸被打多少下才会死亡?

带着这些问题我们继续往下做

分割地图

  • 其实这个地图只有5行,每行有10个格子,前9个格子有草可以种植物,第10个格子出僵尸,那我们要想办法把这50个格子的坐标确定下来。
    如果你还记得《打砖块游戏》的砖块是怎么克隆的话,这里可以用此方法确定每个草地格子的位置。
  • 建立变量记录克隆豌豆射手的数量,以及给每一个克隆体编号,以及确定每个克隆体的行号和列号,确定方法之前在《打砖块游戏》里讲过。之后克隆体移动的位置按照它的行号和列号来确定,这样就可以把45个克隆体平均分布在整个草坪上。可以看到我的地图上,格子之间横向距离是48,纵向距离是60
  • 这些重要的坐标信息需要记录下来,比如左上角格子的坐标是(-195,,110),x轴相邻格子间距48,y轴相邻格子间距60。在背景中建立变量记录这些重要的值,地图上其它点几乎都是相对于这些坐标信息的。

随机产生僵尸

  • 我们先上传三个僵尸角色,然后在背景中编程,每隔十秒就随机克隆一个僵尸出来
  • 对每个僵尸进行编码,当僵尸作为克隆体启动时,要随机出现在某一行上
  • 这里说两个复制代码的快捷方法,因为僵尸的编码都是相同的,所以一个编好后复制给另外两个就可以了。
    1. 复制代码的方法一:拖动你要复制的代码到角色头像上,松开鼠标后代码就复制给了目标角色
    2. 复制代码方式二:在要复制的代码上点左键,然后Ctrl+C(为保复制成功可以多按几次),然后选择目标角色,按Ctrl+V,代码就复制过来了

      我个人更喜欢第二种
  • 这样编码后,僵尸就可以出现在随机的一行了

    为了效果明显,把克隆僵尸的间隔时间调成了2秒

【scratch】class_7_植物大战僵尸(二)相关推荐

  1. scratch中植物大战僵尸之会收集太阳的的太阳花

    昨天我们已经学习了如何收集豌豆,那么太阳花如果想生产太阳的话,那么太阳怎么出现呢,我们该如何做呢?这个需要怎么实现呢,那么,这就需要考验大家对于昨天的收集豌豆的小游戏是不是完全掌握了,今天这个收集太阳 ...

  2. 植物大战僵尸二:游戏界面的绘制

    上期已经和大家讲解了做游戏的前提要求,今天要给大家讲述的是游戏界面如何绘制. 一:如何获取到surface: (1)首先我们需要获取一个surface,我们先通过surfaceView获取一个surf ...

  3. 【scratch】class_6_植物大战僵尸(一)

    从今天起,我们争取用之前学过的知识做一个<植物大战僵尸>出来,而且越像越好. 素材 在做游戏之前必须找好素材,比如游戏中用到的各种植物和僵尸模型,以及各种音效和背景音乐.通过之前的学习我们 ...

  4. ❤️❤️❤️Unity废柴看过来,手把手教你做植物大战僵尸(二)—— 序列帧动画

    开始制作游戏,首先,我们要把游戏素材导入到项目中,我这里整理出来了一些项目中用到的图片音乐等素材,大家可以下载下来使用,或者自己从网上找其他好看的素材也可以. 植物大战僵尸素材 链接:https:// ...

  5. C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现

    C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址 C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现 C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问 ...

  6. scratch中的植物大战僵尸之豌豆射手收集豌豆

    这是一个简单的案例,主要的是运用植物大战僵尸里面的素材去做到一个好玩的小游戏,这个游戏的概念是教会小学生怎样运用一些变量还有数学中的知识,例如有负数和坐标的概念,下面我来展示一下我的这个案例: 有的小 ...

  7. ▷Scratch课堂丨在Scratch上制作植物大战僵尸游戏

    "什么?玩植物大战僵尸还能学数学,是的你没听错.来和我们一起进步你的口算吧!记得文末点击阅读原文有福利哦" 01 - -效果展示- 02 - -脚本展示- ------舞台背景脚本 ...

  8. Scratch案例—在Scratch上制作植物大战僵尸游戏

    "什么?玩植物大战僵尸还能学数学,是的你没听错.来和我们一起进步你的口算吧!记得文末点击阅读原文有福利哦" 01 - -效果展示- 02 - -脚本展示- -----舞台背景脚本- ...

  9. 实战二:绘制《植物大战僵尸》中的石头怪

    绘制植物大战僵尸的石头怪,首先需要先新建一个文件,在文件里使用print语句. print("""3008* * * * ** ** @ @ ** ** @ ** ** ...

最新文章

  1. Centos下安装apahce的configure: error: APR not found. Please read the documentation解决办法
  2. distributed processing(分布式处理)
  3. Delphi环境中编写调用DLL的方法和技巧
  4. 【A】超全!深度学习在计算机视觉领域的应用一览
  5. 学习笔记(07):MySQL数据库运维与管理-02-用户权限授予演示
  6. MSDN 访谈录(MSDN Show)C#编程
  7. 基站安全监控管理系统方案
  8. 期权的“溢价率”、“杠杆率”不是越高越好
  9. python 爬虫request ssl_Python request SSL证书问题
  10. hadoop3.x\2.x常用端口,和常用配置文件
  11. 华为OD机试 - 日志首次上报最多积分
  12. 基金A类和C类的科普贴
  13. 几年前之所预言,其人不死言之依然
  14. 计算机的基本组成及其工作原理
  15. 如何区别API、REST API、RESTful API和Web Service之间的异同
  16. 浙江省 教师资格证 岗前培训考试 浙江高培中心报名系统
  17. 测评:借助6款强大的工具阻止内部攻击
  18. 计算机基础-云计算+机器人技术
  19. 跑得快人工智能自动代打训练程序设计
  20. 简练网软考知识点整理-七种质量管理和控制工具(新七种工具)

热门文章

  1. 谷歌浏览器chrome,元素elements页面鼠标右键不起作用不想赢
  2. ajax上传file文件
  3. 中国要给博文“建档”,美国“存储Twitter”有何启示?
  4. python - pyperclip模块
  5. 给mininet安装controller
  6. Unity之ASE实现全屏风沙效果
  7. 休闲娱乐小游戏,水果机,复制代码就能用
  8. 使用docker-compose 大杀器来部署服务
  9. make_shared
  10. 双11前怎么用直通车进行店铺预热