心型文字的生成

 

deno:   http://7540.ggii.net/swf/FlyWord.html

 

 

 

下面是源码: 注意  tft    是文本框TextField实例

 

 

 

 

//bezier的用法 以及函数参数的传递
/*

爱心参数:

TweenMax.to(mc, 3.75, {bezier:[{x:236, y:282}, {x:97, y:93}, {x:50, y:272}, {x:183, y:393}, {x:222, y:387}, {x:332, y:218}, {x:238, y:89}, {x:191, y:237}], orientToBezier:true, scaleX:1, scaleY:1, alpha:1, tint:0x000033, ease:Default (Regular.easeOut)});/

 

*/

import com.greensock.TweenMax;
txtInfo.text=" の夜の夢首先祝大家元旦节快乐,祝大家在新的一年里,身体健康,万事如意!呵呵!祝光棍群体们早日找到自己的另一半,包括我,哈哈!在新的一年为票子和美女向前冲啊!兄弟朋友们,你们准备好了吗?勒紧你们的裤腰带,向前冲啊!远方的美眉在等着你们!没有2000块钱是不能包夜的哦!哈哈!最后祝大家元旦吃好,喝好,玩好!最后祝大家财运亨通!";


var btnReFly:TextField;
var str:String=txtInfo.text;
var storeStr:String=str;
var countTotal:uint=str.length;
var tft:TextFormat = new TextFormat();
var f :TextFormat= new TextFormat();
f.font="华文行楷";
f.size=20;
tft.size=15;
tft.font="华文行楷";
tft.color=0xff0000;

f.color=0x00ff33;
txtInfo.defaultTextFormat=f;
init();
var t:Timer;
function init() {

 t=new Timer(300,countTotal);

 t.addEventListener("timer", textFly);

 t.addEventListener("timerComplete",reFly);

 t.start();
}
function textFly(_evt:TimerEvent=null) {

 try {
  new LocalConnection().connect('foo');
  new LocalConnection().connect('foo');
 } catch (e:*) {
  //trace (_evt.target.currentCount);
  var e_str:TextField=new TextField();

  tft.size=Math.random()*20+12;
  // tft-----------------------------------
  e_str.defaultTextFormat=tft;

  e_str.text=str.charAt(0);

  e_str.selectable=false;


  e_str.scaleX=e_str.width/(e_str.width+1);
  e_str.scaleY=e_str.height/(e_str.height+1);
  e_str.z=0;

  str=str.substr(1);

  txtInfo.text=str;

  addChild(e_str);

  TweenMax.to(e_str, 15, {x:700, y:247, bezier:[{x:236, y:282}, {x:97, y:93}, {x:50, y:272}, {x:183, y:393}, {x:222, y:387}, {x:332, y:218}, {x:238, y:89}, {x:191, y:237}], orientToBezier:true,onComplete:clearText,onCompleteParams:[e_str]}); ;//onCompleteParams:[e_str,true] 指的是函数的参数 
  trace(System.totalMemory);

 }
}

function reFly(_evt:TimerEvent) {
 
  t.stop();
  t.removeEventListener("timer", textFly);

  t.removeEventListener("timerComplete",reFly);
  txtInfo.text=storeStr;
  str=txtInfo.text;
  btnReFly=new TextField();


  btnReFly.text="重新开始";
  btnReFly.background=true;
  btnReFly.backgroundColor=0x00FFFF;
  btnReFly.width=55;
  btnReFly.height=20;
  btnReFly.x=400;
  btnReFly.y=300;

  btnReFly.selectable=false;

  btnReFly.addEventListener(MouseEvent.CLICK,btnReFlyClk);

  addChild(btnReFly);
 }

function btnReFlyClk(_evt:MouseEvent) {
 btnReFly.removeEventListener(MouseEvent.CLICK,btnReFlyClk);
 clearText(_evt.target);
 init();
}
function clearText(_mc:*) {

 removeChild(_mc);
 _mc=null;
}

 

 //=======================下面是添加音乐的代码 和右键菜单的代码

 

 

 

 

//  右键菜单

buildCopyRight()

function buildCopyRight(){
 
 var myContextMenu= new ContextMenu();
 var item0:ContextMenuItem= new ContextMenuItem("作者:夜梦惊魂~dreamnight");
 var item1:ContextMenuItem= new ContextMenuItem("进入我的博客");
 var item2:ContextMenuItem= new ContextMenuItem("qq:1010013548");
 //隐藏自带菜单
 myContextMenu.hideBuiltInItems();
 myContextMenu.customItems.push(item0);
 myContextMenu.customItems.push(item1);
 myContextMenu.customItems.push(item2);
 item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,onSelected,false,1,true)
 this.contextMenu=myContextMenu;
 
 }
 
 
  function onSelected(e:ContextMenuEvent=null):void{
  
 navigateToURL(new URLRequest("http://blog.csdn.net/hu36978"),"_blank");
  
  
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 //音乐: 
  
// import flash.media.*;
// import flash.display.Sprite;
// import flash.events.ProgressEvent;
// import flash.events.Event;
// import flash.net.URLRequest;
 /*
  @author :夜梦惊魂
  @email : hujun36978@yahoo.cn
 @Blog :http://blog.csdn.net/hu36978

*/
 
 

   var _sound:Sound;
  var array:Array;
  var num:uint;
  var begain:Boolean;
   var channel:SoundChannel;
  var len:Number;
   var isComplete:Boolean;
   Music()
   function Music() {
   ok();

   //addEventListener(Event.ENTER_FRAME,onFrame);

  }
  function ok() {
   num=0;
   channel= new SoundChannel();
   array= new Array();
   array.push("http://www.jjl100.com/QQonline/images/ok.mp3?stdfrom=mp3");
   array.push("http://z2.przeklej.pl/prza2090/d4e0b003002b01524ac128d0/super_junior_m_.mp3");
   array.push("http://www.redbullmusic.cn//uploadfiles/audios/34d4825f5e6644969b5e9cde9c19f22a.mp3");
   array.push("http://blog.funshare.com.cn/gallery/539883/539883-1730.mp3?stdfrom=3/http://pichd.gxnews.com.cn/uploadfiles/mp3/2007/7/26/2007726222129090.mp3");
   begain=true;

   loadMusic();
   addEventListener(Event.ENTER_FRAME,handleEnterFrame);

  }

  function loadMusic() {
   isComplete= false;
   _sound = new Sound();
   _sound.addEventListener(ProgressEvent.PROGRESS,onProgress);
   _sound.addEventListener(Event.COMPLETE,onComplete);

   _sound.load(new URLRequest(array[num]));

   /*private function onFrame (e:Event):void{
  
   if(){}*/


  }
function onProgress(e:ProgressEvent=null):void {
   var percent:int=int(e.bytesLoaded*100/e.bytesTotal);
   trace(percent+"%");
//   len=_sound.length/(e.bytesLoaded*100/e.bytesTotal);//此处不能取约数
//   trace("len的长度为:"+len);// NAN
   trace(_sound.length);
   if (percent>5) {
    if (begain) {
     channel=_sound.play();
     trace("位置为:"+channel.position);
     begain=false;
    }


   }

  }

 function onComplete(e:Event):void {
   isComplete=true;
   num++;
   begain=true;
   len=e.currentTarget.length;
   trace("len的长度为:"+len);
   //trace(num);
   //trace(array.length);
   _sound.removeEventListener(ProgressEvent.PROGRESS,onProgress);
   _sound.removeEventListener(Event.COMPLETE,onComplete);
   _sound=null;  
   if (num>=array.length) {
    //trace(num);
    //trace(array.length);

    removeEventListener(Event.ENTER_FRAME,handleEnterFrame);

   

   }

  }
 function handleEnterFrame(e:Event):void {
   trace("此处的位置为"+channel.position);
   //trace(len)
   if(isComplete){
   if (num<array.length) {
   
     if (channel.position+40>=len) //channel.position 和len 不相等  故只需大致相等即可
     {
      loadMusic();
      trace("调用成功");
     }
   
   }
  }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WordCloud是一种文本数据可视化工具,可以用来生成文字云。文字云是一种用不同的字体、颜色和大小表示词频的图像。WordCloud通过统计文本中词的出现频率,将出现频率较高的词用较大的字体、颜色鲜艳的字体显示,而出现频率较低的词用较小的字体、颜色淡的字体显示,从而形成一个“云”的形象。WordCloud可以帮助我们快速摘要文本信息,了解文本中的关键词和主题。 ### 回答2: WordCloud生成文字云是一种文本可视化的方法,通过统计文本中不同词语的出现频率,并根据频率的大小将词语以不同的字体大小显示在画布上,从而形成一个形状丰富、颜色丰富的词云图。 生成文字云的方式通常分为以下几个步骤:首先,需要预处理文本,如去除停用词、标点符号和数字等,以保留其中的关键词。其次,根据关键词的出现频率,构建一个词语-频率的字典。然后,根据字典中词语的频率大小,选择合适的字体大小来呈现词云图。最后,将词语以随机的颜色和形状分布在画布上,形成一个具有艺术美感的文字云图。 WordCloud生成文字云在许多领域有着广泛的应用。在新闻媒体中,可以用于呈现某一段时间内的热点词汇,从而让读者快速了解当下的热门话题。在社交媒体分析中,可以用于分析用户在某一话题下的讨论重点和偏好,发现用户的兴趣爱好。在品牌营销中,可以用于分析用户对某个品牌的好感度,并从中提取关键词汇以指导品牌形象的传播。 总之,WordCloud生成文字云是一种简单而有效的文本可视化方法,通过直观、艺术化的图像展示来传达文本中的信息和特征,具有很高的实用性和可视化效果。 ### 回答3: WordCloud是一种数据可视化的方式,可以将一段文本中出现频率较高的词汇以云状的形式展示出来。 WordCloud生成文字云的过程首先需要对一段文本进行处理,包括分词、去除停用词等。然后根据每个词汇在文本中出现的频率,确定词汇在文字云上的大小和颜色。频率高的词汇会显示的更大、更显眼,而频率低的词汇则相对较小。 生成文字云时,我们可以选择不同形状的模板作为背景,如形、动物等,以增加可视化效果的多样性。在最终的文字云图中,我们可以看到频率高的词汇集中在一起,形成云状的集群,而频率低的词汇则分散在文字云的边缘。 WordCloud生成文字云图可以帮助人们直观地了解一段文本的重要内容和主题。通过观察文字云的关键词,我们可以快速抓住文本的要点和关注重点。同时,文字云还可以用于情感分析,通过词汇的大小和颜色可以反映出文本的情感色彩。这对于舆情监测和市场调研等领域具有一定的应用价值。 总而言之,WordCloud生成文字云是一种简单而直观的数据可视化方式,可以有效帮助我们理解一段文本的重点内容和情感色彩。它在文本分析、信息提取、舆情监测等领域有着广泛的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值