如果文本的宽度 小于 给出的限定宽度,则不滚动直接返回Label
否则使用ClipPingNode 实现在指定宽度与高度的矩形内滚动Label.
返回值是Node 直接 addChild使用即可
// 自动根据文本的宽度稳定滚动速率text.wIDth/wIDth*5
/** * 创建滚动字幕 * @param txt * @param Fontsize * @param {cc.color|null} color * @param wIDth * @param height * @returns {cc.Node|*} */createClipRoundText = function(txt,Fontsize,color,wIDth,height){ var text = new cc.LabelTTF(txt,"Arial",Fontsize); console.log('text wIDth:'+text.wIDth); text.setcolor(color?color:cc.color.BLUE); text.anchorX = 0; if(text.wIDth<=wIDth){ text.anchorY = 0; return text; } var cliper = new cc.ClipPingNode(); var drawNode = new cc.DrawNode(); drawNode.drawRect(cc.p(0,0),cc.p(wIDth,height),cc.color.WHITE); cliper.setStencil(drawNode); cliper.anchorX = 0.5; cliper.anchorY = 0.5; text.y = height/2; cliper.addChild(text); text.x = wIDth+Fontsize; text.runAction(cc.repeatForever(cc.sequence( cc.moveto(text.wIDth/wIDth*5,cc.p(-text.wIDth,text.y)),cc.callFunc(function(){ text.x = wIDth+Fontsize; })))); return cliper;};总结
以上是内存溢出为你收集整理的cocos js 实现 滚动字幕 且自动根据文本的宽度稳定滚动速率全部内容,希望文章能够帮你解决cocos js 实现 滚动字幕 且自动根据文本的宽度稳定滚动速率所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)