使用Cocos2d-lua开发植物大战僵尸10-植物类的实现上

这一篇我们来讲游戏中的植物是怎么实现的,在这个游戏Demo中,我们就不一一的把所有的植物都写出来的,在这里我们就写豌豆射手Pease(攻击型植物),向日葵SunFlower(生产型植物)以及坚果Nut(防御性植物)这三种,其中豌豆射手需要发射豌豆,也就是子弹,所有我们也要创建一个豌豆子弹类PeaseBullet来作为豌豆射手的子弹,向日葵能够生产太阳,所以我们也要创建一个太阳类Sun。

我们先来看看豌豆子弹PeaseBullet的创建,在src/app/下创建一个bullet文件夹,然后在该文件夹下创建PeaseBullet类,这个类很简单,我们看下面代码:

local PeaseBullet = class("PeaseBullet",function()
return display.newSprite("fight/bullet.png")
end)


function PeaseBullet:ctor()
self:setScale(0.5)
-- 子弹的攻击力,由豌豆射手决定
self.attackValue=0
end


-- 子弹小时的时候回调函数 self:getParent()就是豌豆射手 bullets是它的一个属性--弹夹,用来存放发射出来的子弹统一管理
function PeaseBullet:over()
-- 从弹夹中移除自身
table.removebyvalue(self:getParent().bullets, self)
self:removeFromParent()
end


return PeaseBullet

植物和僵尸一样,也分为很多种,那么他们也有一个共同的父类---植物基类,我们先来看看基类,

在src/app/下创建一个plant文件夹,然后在该文件夹下创建PlantBase类

local scheduler = require(cc.PACKAGE_NAME .. ".scheduler")
local PlantBase = class("PlantBase",function()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值