您的位置:首页 > Web前端 > JavaScript

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

2015-11-13 13:24 645 查看
万精油函数:(这里假设已经解析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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息