Cocos2d-x 3.2 lua飞机大战开发实例(三)道具的掉落,碰撞检测,声音,分数,爆炸效果,完善游戏的功能细节

       Cocos2d-X 3.2  lua语言飞机大战开发实例(三)


7.添加声音,更新分数,添加爆炸效果,道具的掉落、道具的碰撞检测等完善游戏功能


 爆炸的效果添加


首先需要在GameData的全局数据中定义所有道具的表

       g_allTools={} --所有道具的表


接下来定义一个爆炸类

--

require "Cocos2d"

local Boom=class("Boom",function ()

return cc.Node:create()


end)


--

function Boom:create(x,y)

local bm=Boom.new()

bm:addChild(bm:init(x,y))

return bm


end


--

function Boom:ctor()

end


--init()

function Boom:init(x,y)

   local layer=cc.Layer:create()

  

   local boom=cc.ParticleSystemQuad:create("boom.plist")

   layer:addChild(boom)

   boom:setPosition(x,y)

   --一秒钟之后消失

   local act1=cc.DelayTime:create(1)

   local function killme()

        self:removeFromParent()

   end

   local act2=cc.CallFunc:create(killme)

   --执行动作序列

   layer:runAction(cc.Sequence:create({ act1,act2}))

   return layer

end

return Boom

--定义好了爆炸的类,我们该在GameScene中添加爆炸的效果了

      --爆炸效果

                local boom=require("nodes.Boom")

                local bm=boom:create(nowe.ex,nowe.ey)

         layer:addChild(bm)


8.道具的掉落,

--我们确定哪架敌机可以产生道具,所以我们需要产生随机数,确定哪个敌机可以产生道具

--在敌机类文件中

--确定这架飞机含有没有道具

local num=math.random(10--产生的是110 的随机数,没有0

if num<=4 then

self.haveTools=num --这样数字是几,道具的类型就是几

else

self.haveTools=0

end

--

 --定义道具的类文件

require "Cocos2d"

local Tools=class("Tools",function ()

return cc.Node:create()

end)


function Tools:create(t,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值