quick cocos 读取文件

来源:互联网 发布:sublime text3写c语言 编辑:程序博客网 时间:2024/06/09 19:30

最近写项目的时候有个需求是让一个node按照指定的轨迹行走

这就要求读取本地的文件,我们读取的是.dat文件

0,1,2,3(1487,-197,341.291199,-2)(1486,-193,341.291199,-2)(1485,-189,341.291199,-2)(1484,-185,341.291199,-2)(1483,-181,341.291199,-2)(1482,-177,341.291199,-2)(1481,-173,341.291199,-2)(1480,-169,341.291199,-2)(1479,-165,341.291199,-2)(1478,-161,341.291199,-2)(1477,-157,341.291199,-2)(1476,-153,341.291199,-2)(1475,-149,341.291199,-2)(1474,-145,341.291199,-2)(1473,-141,341.291199,-2)(1472,-137,341.291199,-2)(1471,-133,341.291199,-2)(1470,-129,341.291199,-2)(1469,-125,341.291199,-2)(1468,-121,341.291199,-2)(1467,-117,341.291199,-2)(1466,-113,341.291199,-2)(1465,-109,341.291199,-2)(1464,-105,341.291199,-2)(1463,-101,341.291199,-2)(1462,-97,341.291199,-2)(1461,-93,341.291199,-2)
以下是读取文件的lua实现

local FishTrack = {}function FishTrack.splitString(_sString, _sSeparator)local tSplitString = {}local iSplitIndex = 1    local iFindStartIndex = 1    while true do        local _iFindLastIndex = string.find(_sString, _sSeparator, iFindStartIndex)        if not _iFindLastIndex then            tSplitString[iSplitIndex] = string.sub(_sString, iFindStartIndex, string.len(_sString))            break        end        tSplitString[iSplitIndex] = string.sub(_sString, iFindStartIndex, _iFindLastIndex - 1)        iFindStartIndex = _iFindLastIndex + string.len(_sSeparator)        iSplitIndex = iSplitIndex + 1    end    return tSplitStringendfunction FishTrack.readFile(_sFilePath)return cc.FileUtils:getInstance():getStringFromFile(_sFilePath)endreturn FishTrack


demo:

local fishTrack = require("app.GameLogic.FishTrack")local MainScene = class("MainScene", function()    return display.newScene("MainScene")end)function MainScene:ctor()local sContent = fishTrack.readFile("4.dat")    local tStrings = fishTrack.splitString(sContent, "\n")    local sSecondLine = string.sub(tStrings[2],2,string.len(tStrings[2])-2)    print(sSecondLine)    local tSingleStrings = fishTrack.splitString(sSecondLine,",")    print"========"    for k,v in pairs(tSingleStrings) do    print(v)    end        for k,v in pairs(tStrings) do    print(v)    end    cc.ui.UILabel.new({            UILabelType = 2, text = "Hello, World", size = 64})        :align(display.CENTER, display.cx, display.cy)        :addTo(self)endfunction MainScene:onEnter()endfunction MainScene:onExit()endreturn MainScene


以下为输出




0 0
原创粉丝点击