您的位置是:少儿编程网>Scratch编程教程Scratch编程教程

Scratch小游戏(28):《保卫萝卜》(10)教程

少儿编程网2021-04-08 18:49:27Scratch编程教程 人已围观 来源:少儿编程 -用户投稿

简介本期分享的是: - 防御塔的发射系统 - 防御塔的放置与发射子弹冲突一、防御塔的发射系统防御塔发射(克隆)子弹需要将一些信息传递给克隆体,比如塔当前位置、方向、攻击力、等级、攻击频率等信息,并将_type类型改为bullet,这里将会在放置新同名炮塔时出现Bug,新放置的炮塔会被当成子弹发射出去,导致无法放置,这个bug将在第二部分详细讲解破解之法,这里要非常小心了,因为是克隆体(防御塔)克隆克隆体(子弹)的操作了。信息传完之后炮塔会有个造型的切换操作。我们仍旧拿瓶子炮举例。子弹移动过程中的造型切换,注意

本期分享的是:Rdz少儿编程网-https://www.pxcodes.com

 - 防御塔的发射系统Rdz少儿编程网-https://www.pxcodes.com

 - 防御塔的放置与发射子弹冲突Rdz少儿编程网-https://www.pxcodes.com

 Rdz少儿编程网-https://www.pxcodes.com

Scratch小游戏(28):《保卫萝卜》(10)教程Rdz少儿编程网-https://www.pxcodes.com

 

一、防御塔的发射系统
防御塔发射(克隆)子弹需要将一些信息传递给克隆体,比如塔当前位置、方向、攻击力、等级、攻击频率等信息,并将_type类型改为bullet,这里将会在放置新同名炮塔时出现Bug,新放置的炮塔会被当成子弹发射出去,导致无法放置,这个bug将在第二部分详细讲解破解之法,这里要非常小心了,因为是克隆体(防御塔)克隆克隆体(子弹)的操作了。信息传完之后炮塔会有个造型的切换操作。
我们仍旧拿瓶子炮举例。
 

Scratch小游戏(28):《保卫萝卜》(10)教程Rdz少儿编程网-https://www.pxcodes.com

 Rdz少儿编程网-https://www.pxcodes.com

子弹移动过程中的造型切换,注意是否碰到怪物的这个条件,这个可以检测到39个怪物通用表示方式。

Scratch小游戏(28):《保卫萝卜》(10)教程Rdz少儿编程网-https://www.pxcodes.com

子弹移动过程中怎么操作?碰到怪物,怪物减血?这是我们**常用的做法。但是这样会有很多的bug等着你;首先碰到怪物后到底给哪个怪物减血?再就是在检测碰撞过程中如何保证一个子弹只能减一次血?
那我们就不用碰撞检测!
上一期我们用列表存储了每一个怪物的即时的坐标信息,同样我们也可以用列表存储每一个怪物的即时生命值,当怪物克隆体出来后做这样的处理:

Scratch小游戏(28):《保卫萝卜》(10)教程Rdz少儿编程网-https://www.pxcodes.com

这样每一个怪物的生命值通过一个列表与其他使用它角色的实现数据共享了。这是一个非常棒的技巧!给怪物减血就是减少怪物当前HP某一项的数据即可。
在子弹移动到怪物过程还有一个需要考虑的方面,就是在这个过程中怪物也是处于移动中,有可能子弹会碰不到怪物,所以这里直接用了移动到这个命令,保证100%能碰到怪物。怪物掉血部分就直接在防御塔里实现了。
之后会有个子弹打到怪物后的一个效果呈现。

Scratch小游戏(28):《保卫萝卜》(10)教程Rdz少儿编程网-https://www.pxcodes.com

 

 Rdz少儿编程网-https://www.pxcodes.com


二、防御塔的放置与发射子弹冲突
这个问题必须展开了叙述;按照以上思路克隆出来的子弹的确会影响到新炮塔的放置,因为在克隆子弹时防御塔应经将自己的私有_name改成了bullet,这样也是克隆体克隆克隆体必然会遇到的Bug,怎么破?
这个困扰我多日的问题其实解决思路非常简单,那就是在放置炮塔的同时停止克隆(发射)子弹。

Scratch小游戏(28):《保卫萝卜》(10)教程Rdz少儿编程网-https://www.pxcodes.com

Scratch小游戏(28):《保卫萝卜》(10)教程Rdz少儿编程网-https://www.pxcodes.com

 

 Rdz少儿编程网-https://www.pxcodes.com

不知道这些解决问题的思路叫“算法”合不合适,但有一点是肯定的:把你解决问题的思路用某种编程语言表达出来便是程序了,这样看来编程其实也没那么神秘了,其实我们每个人每时每刻都在编写程序,只是你没有意识到罢了!Rdz少儿编程网-https://www.pxcodes.com
Rdz少儿编程网-https://www.pxcodes.com
Rdz少儿编程网-https://www.pxcodes.com
来源   嘻嘻哈哈学编程
Rdz少儿编程网-https://www.pxcodes.com


相关文章:

支持一下 ( )

Scratch小游戏(28):《保卫萝卜》(10)教程

      匿名评论
    • 评论
    人参与,条评论
    少儿编程网

微信公众号

免费视频教程

先知道