直接添加json文件里面的所有配置信息

万精油函数:(这里假设已经解析json)
解析:
获取文件中的字符串:
local  data  =   cc.FileUtils:getInstance():getStringFromFile(“inst/*****.json”)
Json解码:
local  jsonArray = json.decode(data)
self:addNpc(jsonArray.npc, self._cityBg)
function CityMainLayer:addNpc (jsonNpc, layer)
    if not jsonNpc then
        return false
    end

    self._npcSpineArray = {}
    self._npcJsonArray= {}

    for i = 1, #jsonNpc do
        self._jsonAni = jsonNpc[i]
        if not self._jsonAni then
            return false
        end

        local srcJson = "role/spine/" .. tostring( self._jsonAni.src) .. "/" .. tostring (self._jsonAni.src) .. ".json"
        local srcAtlas = "role/spine/" .. tostring( self._jsonAni.src) .. "/" .. tostring (self._jsonAni.src) .. ".atlas"
        local x = self ._jsonAni.x
        local y = self ._jsonAni.y

        local spine = sp.SkeletonAnimation:create(srcJson, srcAtlas, 0.3)
        spine:setAnimation(0, "idle", true )
        layer:addChild(spine)
        spine:setPosition(cc.p(x, y))
        spine.Flag = true
        table.insert(self ._npcSpineArray, spine)
        table.insert(self ._npcJsonArray, self._jsonAni)
    end
end

如果要点击调用:
local function onTouchEnded( self, touch, event) 
        for i, v in pairs(self._npcSpineArray) do
              local locationInNode = self ._cityBg:convertToNodeSpace(touch:getLocation())
              local rect = v:getBoundingBox()
              if v.Flag and cc.rectContainsPoint(rect, locationInNode) then
                  self:npcSaying(self ._npcJsonArray[i], v)
                   v.Flag = false
        end
    end
end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值