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

这篇博客介绍了如何使用Cocos2d-lua开发植物大战僵尸游戏中的植物,包括豌豆射手、向日葵和坚果的实现。豌豆射手通过创建PeaseBullet类表示子弹,而植物基类PlantBase包含了植物的基本属性和行为。豌豆射手类Pease实现了发射子弹的逻辑,并进行了周期性检测以攻击同一行的僵尸。
摘要由CSDN通过智能技术生成

这一篇我们来讲游戏中的植物是怎么实现的,在这个游戏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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值