使用Cocos2d-lua开发植物大战僵尸08-僵尸的出现

这篇博客讲述了如何使用Cocos2d-lua开发《植物大战僵尸》游戏,重点是实现僵尸的进攻逻辑。创建FightLayer类继承自Layer,包含植物类型、地块矩阵等属性,并详细介绍了添加僵尸、进度条更新以及根据波数动态生成不同数量僵尸的方法。
摘要由CSDN通过智能技术生成

这一篇开始,我们会用三四篇的篇幅来讲核心层,也就是战斗层FightLayer,该层的功能主要包括一波一波僵尸的出现,根据你选择的植物类型和添加的位置创建并添加植物,以及植物与僵尸之间的互相攻击逻辑,在这一篇,我们先来将其中之一,也就是僵尸的进攻。

在src/app/layers下创建一个FightLayer.lua文件,创建FightLayer类继承Layer,我们先来说说这个类有那些属性:

植物类型属性choosePlantType,默认为NOT_PLANT,这些标志性的值在配置文件config.lua中声明;

地块上是否还可以放植物的属性 lawnMatrix,是一个矩阵;

当前波数currentWaveNum和总波数totalWaveNum;

各种植物,产物以及僵尸的集合等等,以下就是我们的代码,每句代码都有注释(很简单的除外)

local scheduler = require(cc.PACKAGE_NAME .. ".scheduler")
local NormalZombies = require("app.zombies.NormalZombies")
local FightLayer = class("FightLayer",function()
return display.newLayer()
end)

function FightLayer:ctor()
-- 不屏蔽事件的传递
self:setTouchSwallowEnabled(false)
-- 被选择的植物类型默认为NOT_PLANT 无植物
self.choosePlantType=NOT_PLANT
-- 标志土地位置是否可以放植物的矩阵 默认值都为true 都可以放植物
self.lawnMatrix={}
-- 初始化
self:initMatrix()
-- 当前波数
self.currentWaveNum=0
-- 总波数
self.totalWaveNum=10
-- 进度条
self.pro

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值