我用cc.loader.loadTxt(“res/test.txt”, function(err, data) { if(err) cc.log(“load failed”); }) 这个函数把txt文件读了进来,文件中的数据都放在data里,现在想把文本每一行单独提出来放到不同的变量里做进一步操作,有什么办法可以实现吗?
既然是换行,那就有换行符,比如:\n、\r 这些,可以以这些符号来分隔你的文本为数组,数组中的每一个数据就是你要的一行了
— Begin quote from ____
引用第1楼lishujun于2014-12-23 23:29发表的 :
既然是换行,那就有换行符,比如:\n、\r 这些,可以以这些符号来分隔你的文本为数组,数组中的每一个数据就是你要的一行了 http://www.cocoachina.com/bbs/job.php?action=topost&tid=278198&pid=1205274
— End quote
这个方法可以说得详细点吗?还是不太懂怎么写呢
你可以自己去网上揣摩着去写一个工具类,或者你加我QQ,我有这样的一个工具类,可以发给你。
953428372 。。 忘记加上Q了。。
谢谢,研究了一个星期,今天终于研究出来了,不熟悉cocos2d-js里面的函数,做起来就是苦逼
发代码出来给你们分享下吧,希望能帮助到有需要的朋友
var NewBegin = cc.Layer.extend({
i : null,
text1 : null,
label : null,
strsArray:null,
ctor : function() {
//----start0----ctor
this._super();
//文本框
label = new ccui.Text();
label.attr({
//string : str,
//fontName : "Arial",
fontSize : 20,
anchorX : 0.5,
anchorY : 0.5,
x : winSize.width / 2,
y : 50,
width : winSize.width - 20,
height : 150
});
label.setColor(cc.color(255, 255, 255));
label.ignoreContentAdaptWithSize(false);
labelColor.addChild(label, 2);
i=0;
//加载文本内容到资源
cc.loader.loadTxt(res.test_txt, function(err, data) {
if(err)
return console.log("load failed");
//success
else {
cc.log("load success");
strsArray=new Array();
strsArray=data.split(new RegExp('\\r\\n|\\r|\\n'));
text1(strsArray);
}
});
//读取文本内容
if('mouse' in cc.sys.capabilities)
cc.eventManager.addListener({
event : cc.EventListener.MOUSE,
swallowTouches : true, // 设置是否吞没事件,在 onTouchBegan 方法返回 true 时吞掉事件,不再向下传递。
onMouseDown : function(event) {
i++;
text1(strsArray);
return i;
}
}, this);
}
});
function text1(data) {
if(i < data.length) {
//读取数据到文本框
label.string = data*;
}
};
NewBegin.scene = function() {
var scene = new cc.Scene();
var layer = new NewBegin();
scene.addChild(layer);
return scene;
};
*