论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

纯AS打字并自动添加滚动条效果的制作

文章类别:Flash | 发表日期:2008-9-21 20:10:31

  纯AS打字超出边框向上滚动且自动添加滚动条(原创)
[效果]
/UploadTeach/200807/2008070712453362.swf

[要求]
纯AS打字超出边框向上滚动且自动添加滚动条。
[过程]
在第一帧写如下代码即可:
fscommand("fullscreen", "false");
fscommand("allowscale", "false");
fscommand("showmenu", "false");
//var my_sound:Sound = new Sound(this);
//画外框
this.createEmptyMovieClip("kuang_mc", 5);
kuang_mc.lineStyle(2, 0xC9C08F);
kuang_mc.moveTo(1, 1);
kuang_mc.lineTo(415, 1);
kuang_mc.lineTo(415, 299);
kuang_mc.lineTo(1, 299);
kuang_mc.lineTo(1, 1);
//画背景
this.createEmptyMovieClip("beijing_mc", 0);
beijing_mc.beginFill(0xECE9DB);
beijing_mc.moveTo(0, 0);
beijing_mc.lineTo(416, 0);
beijing_mc.lineTo(416, 300);
beijing_mc.lineTo(0, 300);
beijing_mc.lineTo(0, 0);
beijing_mc.endFill();
//画遮罩
this.createEmptyMovieClip("mask_mc", 1);
mask_mc.beginFill(0xFFFFFF);
mask_mc.moveTo(0, 0);
mask_mc.lineTo(396, 0);
mask_mc.lineTo(396, 300);
mask_mc.lineTo(0, 300);
mask_mc.lineTo(0, 0);
mask_mc.endFill();
mask_mc._alpha = 0;
//画滚动条背景
mask_mc.duplicateMovieClip("gundongtiaobj_mc", 2);
gundongtiaobj_mc._alpha = 100;
gundongtiaobj_mc._x = mask_mc._x+mask_mc._width;
gundongtiaobj_mc._width = 20;
//画滚动条
gundongtiaobj_mc.duplicateMovieClip("_btn", 3);
gundongtiao_color = new Color(_btn);
_btn._x = gundongtiaobj_mc._x;
gundongtiao_color.setRGB(0xC0D2FC);
//创建打字影片剪辑
this.createEmptyMovieClip("_mc", 4);
_mc._x = mask_mc._x;
_mc._y = mask_mc._y;
_mc.setMask(mask_mc);
//申明的一些变量
var i:Number = 0;
var my_fmt:TextFormat = new TextFormat();
var my_str:String = "动画原创作者——刘常(琴者qinz)"+newline+"再别康桥——徐志摩"+newline+"轻轻的我走了,正如我轻轻的来;"+newline+"我轻轻的招手,作别西天的云彩。"+newline+"那河畔的金柳,是夕阳中的新娘;"+newline+"波光里的艳影,在我的心头荡漾。"+newline+"软泥上的青荇,油油的在水底招摇;"+newline+"在康河的柔波里,我甘心做一条水草!"+newline+"那榆荫下的一潭,不是清泉,"+newline+"是天上虹揉碎在浮藻间,沉淀着彩虹似的梦。"+newline+"寻梦?撑一支长篙,向青草更青处漫溯,"+newline+"满载一船星辉,在星辉斑斓里放歌。"+newline+"但我不能放歌,静静是别离的笙箫;"+newline+"夏虫也为我沉默,沉默是今晚的康桥。"+newline+"静静的我走了,正如我静静的来;"+newline+"我挥一挥衣袖,不带走一片云彩。";
//创建动态文本
_mc.createTextField("my_txt", 1, 50, 20, 0, 0);
//控制文本字段的自动大小调整和左对齐
_mc.my_txt.autoSize = true;
_mc.my_txt.selectable = false;
//设置文本行距
my_fmt.leading = 20;
//设置文本的颜色
my_fmt.color = 0x000000;
//动态文本应用新文本格式
_mc.my_txt.setNewTextFormat(my_fmt);
//文字背景,防止最后几行显示
_mc.createEmptyMovieClip("wzbj_mc", 2);
_mc.wzbj_mc.beginFill(0x00FF00, 0);
_mc.wzbj_mc.moveTo(0, 0);
_mc.wzbj_mc.lineTo(400, 0);
_mc.wzbj_mc.lineTo(400, 300);
_mc.wzbj_mc.lineTo(0, 300);
_mc.wzbj_mc.lineTo(0, 0);
_mc.wzbj_mc.endFill();
_mc.onEnterFrame = function() {
this.wzbj_mc._height = this.my_txt._height+35;
this.wzbj_mc._y = this.my_txt._y-20;
//假如变量i不大于my_str的字符数
if (i<=length(my_str)) {
  _btn.enabled = false;
  //动态文本显示my_str的字符(从第一个字符开始,长度为i)
  this.my_txt.text = my_str.substr(0, i)+"_";
  //变量递增1
  i++;
  if ((this.my_txt._y+this.my_txt._height)>mask_mc._height) {
   this.wzbj_mc._y = this.my_txt._y -= 35;
  } else {
   this.my_txt._y -= 0;
  }
}
//假如变量i大于my_str的字符数                                                                                                                                      
if (i>length(my_str)) {
// my_sound.stop();
  _btn.enabled = true;
  this.my_txt.text = my_str;
  //停止 setInterval() 调用
  delete this.onEnterFrame;
  delete mask_mc.onEnterFrame;
}
};
mask_mc.onEnterFrame = function() {
//申明影片剪辑滚动距离变量及按钮和按钮背景影片剪辑的可见性设置
var ypgdjl:Number = _mc._height-mask_mc._height;
if (ypgdjl<=0) {
  _btn._visible = 0;
} else {
  _btn._visible = 1;
}
_btn._height = int(mask_mc._height*((_mc._height-ypgdjl)/_mc._height));
_btn._y = mask_mc._height-_btn._height+mask_mc._y;
var btntdjl:Number = mask_mc._height-_btn._height;
//按钮按下开始拖动并设置影片剪辑的坐标
_btn.onPress = function() {
  startDrag(this, false, mask_mc._width+mask_mc._x, mask_mc._y, mask_mc._width+mask_mc._x, btntdjl+mask_mc._y);
  _mc.onEnterFrame = function() {
   _mc._y = -(int((_btn._y/btntdjl)*ypgdjl))+ypgdjl;
  };
};
_btn.onRelease = _btn.onReleaseOutside=function () {
  stopDrag();
};
};

进入论坛和作者讨论学习:http://space.flash8.net/bbs/thread-357422-1-3.html
作者的闪吧个人空间:http://space.flash8.net/space/?401869
上一篇:{实例}制作鼠标跟随动画 人气:2234
下一篇:{实例}简单翻转相册 人气:2145
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058