一开始还没发现这个问题,只是在想为什么设了textWidth却无法换行。去官方找例子,都是好的,到我这里就不行了。
最后才想起来自己的文本都是汉字,别人的都是英文。你妈嗨,怪不得
原来默认是根据英文单词中间的空格来换的,汉字的情况就gg了。。。
修改easeljs的源文件,p._drawText方法如下
/**
* Draws multiline text.
* @method _drawText
* @param {CanvasRenderingContext2D} ctx
* @param {Object} o
* @param {Array} lines
* @return {Object}
* @protected
**/
p._drawText = function(ctx, o, lines) {
var paint = !!ctx;
if (!paint) {
ctx = Text._workingContext;
ctx.save();
this._prepContext(ctx);
}
var lineHeight = this.lineHeight||this.getMeasuredLineHeight();
var maxW = 0, count = 0;
var hardLines = String(this.text).split(/(?:\r\n|\r|\n)/);
for (var i=0, l=hardLines.length; i<l; i++) {
var str = hardLines[i];
var w = null;
if (this.lineWidth != null && (w =