仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1481|回复: 9
打印 上一主题 下一主题

[学习教程] 给大家带来Flash技能教程:as3把2D图片剖析成文本文本功效-Flash actionscript

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:34:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ActionScript是一种程序语言的简单文本文件.FLA档案能够直接包含ActionScript。
poluoluo中心提醒:一篇在游戏开辟中经常使用到的功效就是使用as3把2D图片剖析成文本文本功效,上面我们来看看详细的操纵历程与as完成代码吧。
一篇在游戏开辟中经常使用到的功效就是使用as3把2D图片剖析成文本文本功效,上面我们来看看详细的操纵历程与as完成代码吧。
关于一个像素的恣意点,能够失掉他的灰度。灰度盘算公式


  • getR(color)*0.299+getG(color)*0.587+getB(color)*0.114;
而每个笔墨也有其对应的明暗,好比实心的一个球,就要比空心的显得更暗,由于它加倍的严密,求笔墨明暗的办法
privatefunctiongetDensity(t:String):Number{
varttf:TextField=newTextField;
ttf.autoSize=TextFieldAutoSize.LEFT;
ttf.text=t;


varbmd:BitmapData=newBitmapData(ttf.width,ttf.height,false,0xffffff);
bmd.draw(ttf);
varc:int=0;
for(varx:int=0;x<bmd.width;x++){
for(vary:int=0;y<bmd.height;y++){
if(bmd.getPixel(x,y)!=0xffffff){
c++;
}
}
}
returnc/ttf.width/ttf.height;
}
完全代码
package

{
importFlash.display.Bitmap;
importflash.display.BitmapData;
importflash.display.Loader;
importflash.display.Sprite;
importflash.events.Event;
importflash.geom.Rectangle;
importflash.net.FileReference;
importflash.text.TextField;
importflash.text.TextFieldAutoSize;
importflash.text.TextFormat;
importsliz.miniui.Button;
importsliz.utils.UIUtils;
/**
*...
*@authorlizhi
*/

publicclassTestTextextendsSprite
{
privatevarfonts:Array=[];
privatevartf:TextField;


privatevarfile:FileReference;
privatevarloader:Loader;
publicfunctionTestText()
{
tf=newTextField;
vartfm:TextFormat=newTextFormat;
tfm.size=10;
tfm.leading=-2;
tf.defaultTextFormat=tfm;
tf.autoSize=TextFieldAutoSize.LEFT;
vartext:String="";
varmin:int=32;
varmax:int=120;
while(++min<max){
varc:String=String.fromCharCode(min);
text+=c;
}
text+="."*#@%+-)(TiI?><~";
for(vari:int=0;i<text.length;i++){
c=text.charAt(i);
fonts.push({d:getDensity(c),t:c});
}
fonts.sortOn("d",Array.NUMERIC|Array.DESCENDING);


//[Embed(source=123.png)]varic:Class;
//varbmd:BitmapData=(newicasBitmap).bitmapData;
//render(bmd);
addChild(tf);


UIUtils.changeStage(stage);


varexplorer:Button=newButton("explorerimage",2,20,this,browse);


loader=newLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoad2);
}


privatefunctionrender(bmd:BitmapData):void{
tf.width=1000;
tf.height=1000;
varx:int=0;
vary:int=0;
tf.text="";
while(y<bmd.height){
while(x<bmd.width){
vargray:Number=getGray(bmd.getPixel(x,y))/0xff;
varindex:int=int((fonts.length-1)*gray);
tf.appendText(fonts[index].t);
varr:Rectangle=tf.getCharBoundaries(tf.text.length-1);
x+=r.width;
}
tf.appendText("n");
y=r.bottom
x=0;
}
}


privatefunctiongetDensity(t:String):Number{
varttf:TextField=newTextField;
ttf.autoSize=TextFieldAutoSize.LEFT;
ttf.text=t;


varbmd:BitmapData=newBitmapData(ttf.width,ttf.height,false,0xffffff);
bmd.draw(ttf);
varc:int=0;
for(varx:int=0;x<bmd.width;x++){
for(vary:int=0;y<bmd.height;y++){
if(bmd.getPixel(x,y)!=0xffffff){
c++;
}
}
}
returnc/ttf.width/ttf.height;
}


privatefunctiongetR(color:uint):uint{
returncolor<<8>>>24;
}
privatefunctiongetG(color:uint):uint{
returncolor<<16>>>24;
}
privatefunctiongetB(color:uint):uint{
returncolor<<24>>>24;
}
privatefunctiongetGray(color:uint):uint{
returngetR(color)*0.299+getG(color)*0.587+getB(color)*0.114;
}


privatefunctionbrowse(e:Event):void{
file=newFileReference();
file.browse();
file.addEventListener(Event.SELECT,onSelect);
}


privatefunctiononSelect(e:Event):void{
file.load();
file.addEventListener(Event.COMPLETE,onLoad);
}


privatefunctiononLoad(e:Event):void{


loader.loadBytes(file.data);


}


privatefunctiononLoad2(e:Event):void{
varcontent:Bitmap=loader.contentLoaderInfo.contentasBitmap;
render(content.bitmapData);
}
}


}

用flash动画制作软件制作的动画文件很小,这样便于在互联网上传输,而且它采用了流技术,只要下载一部分,就能欣赏动画,而且能一边播放一边传输送数据。
小妖女 该用户已被删除
沙发
发表于 2015-1-16 15:45:25 | 只看该作者

给大家带来Flash技能教程:as3把2D图片剖析成文本文本功能-Flash actionscript

RichMedia并不是一种具体的互联网媒体形式,而是指具有动画、声音、视频和/或交互性的信息传播方法。 
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-18 18:24:19 | 只看该作者
一个物体从一个角(关键祯1)移动到另一个角(关键祯2)。然后tweening在关键祯之间填充祯,从而使物体可以在屏幕上优雅地运动。
爱飞 该用户已被删除
地板
发表于 2015-1-27 16:22:26 | 只看该作者
Flash是一种以向量图方式制成的网页动画,相比MPEG,AVI等的影片的档案大小就小很多.
变相怪杰 该用户已被删除
5#
发表于 2015-2-5 14:32:12 | 只看该作者
矢量图形有一些固有的限制。例如,照片由于包含太多的信息而不能使用矢量图形这 种形式。但是对于由实体颜色形状构成的图像,Flash很管用。
谁可相欹 该用户已被删除
6#
发表于 2015-2-12 07:06:08 | 只看该作者
flash的优缺点可以如何运用呢?
分手快乐 该用户已被删除
7#
发表于 2015-3-3 01:21:36 | 只看该作者
关于位图和矢量图形的区别,可参看Flash教程。
深爱那片海 该用户已被删除
8#
发表于 2015-3-11 08:56:45 | 只看该作者
向量图有一个特点,就是放大后的图像是不会改变的. 点阵图 向量图Flash的应用,还有再不断在完善的Action Script脚本语言。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-18 09:11:11 | 只看该作者
FLASH广告的问题主要表现在:
山那边是海 该用户已被删除
10#
发表于 2015-3-25 22:15:29 | 只看该作者
动画广告相对于传统广告而言,它的优势在于不受时间、地点等条件限制,可以通过动画的形式将那些复杂又抽象的广告内容更加简单化、生动形象化。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-31 01:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表