植物大战僵尸(二)

  • 添加拖拽植物的按钮

    • 添加一个精灵,命名为SunFlower_Bar(前面的基本NGUI操作都做过了,这里就不详细写了)

    • 将如图两个选中,添加进去进新图集,名为Card

      image
    • 选中SunFlower_Bar,更换精灵,调整位置和尺寸

      image
    • 克隆另一个,改名为PeaShooter_Bar,调整下位置,更换精灵图片

      image
    • 效果

      image
  • 添加拖拽植物

    • 添加太阳花和豌豆射手的图集

      • 选中单头向日葵中的所有图片

        image
      • 打开图集编辑器

        image
      • 点击New

        image
      • 点击Create

        image
      • 保存名为SunFlower的图集

        image
      • 同理,得到PeaShooter的图集

      • 效果

        image
    • 创建拖拽植物的预设体

      • 创建一个精灵,命名为SunFlower

      • 更改精灵图片,调整尺寸

        image
      • 添加Sprite Animation脚本,更改属性

        image
      • 添加LW_DragDropItem脚本,拖给SunFlower

        image
      • 双击打开脚本,并编辑

        image
      • 勾选Clone On Drag

        image
      • 选中SunFlower,克隆一个,改名为PeaShooter

      • 更换成豌豆射手的精灵图片

        image
      • 将SunFlower和PeaShooter拖到Resources文件夹下的Prefab文件夹下

        image
      • 对应着脚本,做一些操作

        • 给所有的格子添加碰撞盒

          • 选中UI Root,添加空物体,命名为Cell

            image
          • 给Cell添加碰撞盒,勾选Is Trigger,并调整大小

            image
          • 效果

            image
          • 选中UI Root添加一个Grid,命名为Row1

            image
          • 重置位置

            image
          • 将Cell放到Row1中

            image
          • 选中Cell,再克隆八个

          • 选中Row1,点击Execute

            image
          • 效果

            image
          • 按W,切换到移动模式,移动到最上边一行格子

          • 选中Row1,修改参数

            image
          • 效果

            image
          • 克隆4次,改名为Row2,Row3,Row4,Row5,依次放下调整位置

          • 效果

            image
        • 创建一个空物体,命名为RowAll,重置位置

        • 将所有的Row都放到这个RowAll中

          image
        • 给所有格子添加标签

          • 随意点击一个游戏对象,点击属性面板的Tag,点击Add Tag

            image
          • 点击加号,命名Cell,点击Save

            image
          • 输入Cell

            image
          • Ctrl+A全选

            image
          • 更改Tag为Cell

            image
        • 点击叉号

          image
      • 添加碰撞盒,修改碰撞和尺寸和精灵尺寸一样大

        image
      • 克隆SunFlower,改名为PeaShooter,跟SunFlower同理

      • 效果

        image
      • 拖到Prefab文件夹中,做成预设体

        image
    • 让SunFlower的位置和PeaShooter的位置重合,SunFlower同理

      image
    • 将SunFlower和PeaShooter设为透明,A值不能为0,否则视为没有此游戏对象

      image
    • 效果,不显示前面的SunFlower和PeaShooter

      image
    • 让植物,起初不播放动画,释放植物的时候播放动画

      • 起初将UI Sprite Animation脚本禁用掉,不播放动画

        image
      • 在LW_DragDropItem中添加代码,当释放植物的时候,播放动画

        image
  • 让豌豆射手发射子弹

    • 让SunFlower和PeaShooter分别放到SunFlower_Bar和PeaShooter_Bar中

      image
    • 选中PeaShooter,创建一个Sprite,命名为Pea

      image
    • 将pea图片添加到Card图集中

      image
    • 选中Pea,更换精灵图片,点击Snap,恢复原始大小

      image
    • 先将PeaShooter拖出来,透明度改为255,因为Pea是PeaShooter的子物体,所以如果PeaShooter透明,Pea也会透明,所以为了方便观察,先显示出来

    • 调整Pea相对于PeaShooter的位置

      image
    • 在Scripts文件夹下新建PeaAI脚本

      image
    • 选中Pea,将PeaAI拖给Pea

      image
    • 双击打开脚本,并编辑

      image
    • 给PeaAI脚本赋值

      image
    • 在Scripts文件夹下创建PeaShooterAI脚本,并将脚本拖给PeaShooter

      image
    • 双击PeaShooterAI脚本,编辑,实现时间间隔攻击

      image
    • 给PeaShooter赋值

      image
    • 将PeaShooterAI禁用

      image
    • 将Pea禁用

      image
    • 当克隆豌豆的时候激活,在PeaShooterAI脚本中添加

      image
    • 在LW_DragDropItem脚本中添加

      image
    • 但这只针对PeaShooter才有PeaShooterAI,如果是SunFlower则会报错,为了改错,所以增加一个PlantAI类,做为PeaShooter和SunFlower的父类,得到父类的脚本就是间接的得到了前面游戏对象的对应的子类的脚本

      image
    • 让PeaShooterAI类继承PlantAI

      image
    • 相应的增加一个SunFlowerAI类,让它继承PlantAI,把SunFlowerAI脚本挂在到SunFlower身上

      image
    • 将PeaShooter继续放回原位,透明度设为1

    • 在PlantAI中添加

      image
    • 更改脚本内容,判断豌豆射手所在的行号的出生点是否有僵尸出生

      image
    • 修改一处错误,这两句移到括号里面,不然如果surface不是Cell标签,就会销毁拖拽的植物,然后继续对这个销毁的植物进行操作,会出现报错

      image
    • 豌豆碰到僵尸,僵尸掉血直到死亡

      • 首先给豌豆和僵尸都添加碰撞盒

        • 因为Pea是PeaShooter的子物体,为了方便观察,所以把PeaShooter的透明度改为255,不透明

        • Pea设为可见

          image
        • 选中Pea,给豌豆添加碰撞盒,点击Is Trigger改为触发器,点击Edit Collider进行编辑

          image
        • 可以在Scene视图中直接对豌豆的碰撞盒编辑

          image
        • 将PeaShooter的透明度继续改回1

        • Pea设为不可见

          image
      • 给僵尸添加碰撞盒和刚体

        • 将Zombie的预设体拖到场景中,对其操作

        • 添加刚体(发生碰撞检测的条件:两个碰撞的物体都有碰撞盒且其中一个有刚体)

          image
        • 勾选Is Trigger改为触发器,调整中心位置和尺寸

          image
        • 让僵尸的碰撞盒和每个格子的大小差不多,不然会存在如果其他道路的子弹碰到当前道路的僵尸的碰撞盒也会触发的BUG

          image
        • 修改完后,点击Apply给预设体应用当前的修改

          image
        • 删除场景中Zombie

          image
      • 添加代码

        • 在zombieAI中添加受伤的方法

          image
        • 找到Zombie预设体,赋值血量

          image
        • 找到PeaAI脚本,添加触发检测的代码

          image
      • 增加僵尸死亡的精灵图片到僵尸图集中

        image
      • 选中zombie,把原先自己写的zombieAnimaiton移除掉

        image
      • 点击下面的Add Component,输入SpriteAnimation,点击之后添加,然后修改值

        image
    • 僵尸碰到植物,植物掉血直到死亡

      • 添加僵尸吃的精灵图片到僵尸图集中

      • 选中Eat的图片,添加到僵尸图集

        image
      • 找到PlantAI脚本,添加受伤的方法

        image
      • 给豌豆射手和向日葵添加血量

        • 在PeaShooterAI脚本中的Start中添加

          image
        • 在SunFlowerAI脚本中的Start中添加

          image
      • 为了方便测试,把僵尸的血量改的大一些

        image
      • 修改zombieAI代码

        image
      • 添加Plant标签,把SunFlower和PeaShooter的标签更换为Plant

        image
      • 选中SunFlower和PeaShooter的碰撞盒的Is Trigger勾选上

        image
      • 在LW_DragDropItem脚本中添加激活碰撞盒的代码

        image
      • 到这里后,僵尸可以吃植物了,但植物死了还在播放吃的动画,且在原地不动

      • 继续在zombieAI中添加代码,让僵尸恢复行走状态

        image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容

  • 下载素材链接:https://pan.baidu.com/s/1h8OYOSKDXH1LYINjXdhcng 密码...
    Joe_Game阅读 714评论 1 2
  • 下载素材图片素材链接:https://pan.baidu.com/s/1N8IFAYWtWu5fJC9jZTkRs...
    Joe_Game阅读 710评论 0 0
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,613评论 1 180
  • 我拿一个夜晚为你写下 我拿一支不灭的香烟为你写下 我拿满地的纸屑为你写下 我为你写下 写下什么 ……
    诗歌的骨头阅读 598评论 4 9
  • 影视业、小说业的发展快的甚至有些畸形,以至于什么样的产品都能迅速推向市场,进入人们视野,其中掺杂的各种情感与文化,...
    乌吉玛拉_boy阅读 990评论 1 2