用户名: 密码: 验证码:           网站地图  高级搜索  RSS订阅  收藏本站
您的位置:主页 > 平面设计 > Flash >

如何实现无法触摸文字的效果?

[ 来源:闪吧 | 作者:闪吧 | 更新日期:2008-5-5 13:44:24 | 人气: | 评论 0 条 ]
  

如何实现无法触摸文字的效果?
解决思路
这个效果又一个非凡之处在于使用了动态文本,利用AS判定文本变量,通过数组的运算赋值数标语文字的距离,从而达到无法触摸的文字效果。
具体步骤
1、 运行Flash MX 2004,设置文档背景为黑色。
2、 新建一个影片剪辑,在影片剪辑编辑区内键入一个动态文本。在属性面板中设置文本变量为“tt”。如图3.3.89所示。

007网络教程网


图3.3.89 设置文本变量
3、 在该影片剪辑时间轴上新建一个图层2,单击矩形工具绘制一个无边框,填充颜色为透明的矩形。按F8转换为影片剪辑2,并在下面的属性面板中命名为“ff”。如图3.3.90所示。 复制于jc567.cn


图3.3.90 设置影片剪辑属性
4、返回到场景1,单击第1帧,打开as面板,添加如下语句:
_root.onLoad = function() {
t = " this is flash8";
myt = new Array();
l = t.length;
for (i=0; i<=l-1; i ) {
myt[i] = substring(t, i 1, 1);
}
_root.j = 0;
};
function out() {
_root.attachMovie("tt", "tt" _root.j, _root.j);
if (_root.j<=(l-1)) {
_root["tt" _root.j].tt = myt[_root.j];
_root["tt" 0]._x = 100;
_root["tt" _root.j]._x = _root["tt" (_root.j-1)]._x 20;
_root["tt" _root.j]._y = 150;
_root.j = _root.j 1;
} else {
_root.effect();
}
}
function effect() {
for (n=0; n<=l-1; n ) {
if (_root._ymouse-_root["tt" _root.n]._y<=100 && _root._xmouse-_root["tt" _root.n]._x<=10 && _root._xmouse-_root["tt" _root.n]._x>=-10) { 007网络教程网
_root["tt" _root.n].dy = (50-_root["tt" _root.n]._y)*.3;
} else {
_root["tt" _root.n].dy = (150-_root["tt" _root.n]._y)*.3;
}
_root["tt" _root.n].dy *= .8;
_root["tt" _root.n]._y = _root["tt" _root.n].dy;
}
}
_root.onEnterFrame = out;
5、上面的AS解释为:
_root.onLoad = function() {//一开始加载前定义变量
t = " this is flash8";
myt = new Array();//myt为数组变量
l = t.length;
for (i=0; i<=l-1; i ) {//将每个字,付给到数组
myt[i] = substring(t, i 1, 1);
}
_root.j = 0;//全局变量
};
function out() {//定义函数out
_root.attachMovie("tt", "tt" _root.j, _root.j);//加载MC tt,重命名为"tt" _root.j
if (_root.j<=(l-1)) {//判定t文本的字节数
_root["tt" _root.j].tt = myt[_root.j];//将刚才付给数组的文字逐个付给新mc"tt" _root.j
_root["tt" 0]._x = 100;

文章来源于www.jc567.cn


_root["tt" _root.j]._x = _root["tt" (_root.j-1)]._x 20;
_root["tt" _root.j]._y = 150;
//以上是控制每个字符的位置
_root.j = _root.j 1;//变量递加
} else {
_root.effect();//调用effect函数
}
}
function effect() {
for (n=0; n<=l-1; n ) {
//判定鼠标和字符间的位置
if (_root._ymouse-_root["tt" _root.n]._y<=100 && _root._xmouse-_root["tt" _root.n]._x<=10 && _root._xmouse-_root["tt" _root.n]._x>=-10) {
_root["tt" _root.n].dy = (50-_root["tt" _root.n]._y)*.3;
} else {
_root["tt" _root.n].dy = (150-_root["tt" _root.n]._y)*.3;
}
_root["tt" _root.n].dy *= .8;
_root["tt" _root.n]._y = _root["tt" _root.n].dy;
//以上是弹性效果的算法。
}
}
_root.onEnterFrame = out;//调用out函数
6、请参考源文件“跳动的文字”。
jc567.cn

非凡说明


在as上加上:
System.UseCodePage = true;可以支持中文字符。

 

文章来源于www.jc567.cn


Tags:如何实现无法触摸文字的效果?
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为