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

JSFL:选择文本输出创建代码

2014-02-02 23:16 246 查看
最近看了github的jsfl的一些开源的文件,感觉开源真厉害,可以看到不同的人的思维是怎样的。最近想继续整合jsfl的新版本,今天先练习一下,采用jsfl输出文本代码,其实在fb里面采用代码片段即可完成这种事情。不过折腾一下也是学习一种过程。好,下面粘贴一下代码。

在jsfl ,常用的一种套路就是选择元件,然后干些什么事情。依旧这个套路,在jsfl里面,我发现一些大神***了很多有意思的jsfl 脚本。例如选择一组元件,输出数组,选择元件快速隐藏,还有添加滤镜代码等等,我觉得这些都是创意,其中比较实用性是快速裁剪九宫,这个比较实用,不知道为何adobe 一直没把这个脚本加进去ide去。不过网上已经有几个不同的版本可以完成这个事情了。

下面就是一个简单的选择文本输出一些代码的简单脚本。这个脚本还可以继续扩展其他实用性的脚本。基本的套路依旧选择什么 干点什么事情。



var doc = fl.getDocumentDOM();
 
var selection = doc.selection;
var len = selection.length;
for(var i = 0; i < len; i++)
{
   var selectItem = selection[i];
   if(selectItem.elementType == "text")
   {
	    var str="var textField:TextField=new TextField();"
		fl.trace(str);
		fl.trace("textField.x="+selectItem.x+";");
		fl.trace("textField.y="+selectItem.y+";");
		fl.trace("textField.width="+selectItem.width+";");
		fl.trace("textField.height="+selectItem.height+";");
		fl.trace("textField.height="+selectItem.height+";");
		fl.trace("var tf:TextFormat = new TextFormat();");
		var font=getFontName(selectItem.textRuns[0].textAttrs["face"]);
		fl.trace('tf.font ="$1";'.replace("$1",font));
        fl.trace(" textField.defaultTextFormat = tf;");
		fl.trace("textField.text=\""+selectItem.textRuns[0].characters+"\";");
		
   }
}

function  getFontName(name)
{
	var obj=new Object();
	obj["宋体"]="SimSun";
	obj["黑体"]="SimHei";
	//补充下去
	return obj[name];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐