flash鼠标跟随文字代码
http://www2.flash8.net/teach/7172.htm请看上面的代码并回答以下问题1、flash的大小会不会影响到代码?也就是说更改flash大小时,...
http://www2.flash8.net/teach/7172.htm
请看上面的代码并回答以下问题
1、flash的大小会不会影响到代码?也就是说更改flash大小时,是否也修改代码中相对应的数值?
2、如果我想增加或减少文字应该怎样修改代码?
3、如果我想调整字符的间距,应该怎样修改代码?
请用容易理解的语言回答我,谢谢闪客高手! 展开
请看上面的代码并回答以下问题
1、flash的大小会不会影响到代码?也就是说更改flash大小时,是否也修改代码中相对应的数值?
2、如果我想增加或减少文字应该怎样修改代码?
3、如果我想调整字符的间距,应该怎样修改代码?
请用容易理解的语言回答我,谢谢闪客高手! 展开
4个回答
展开全部
1:更改大小不会影响效果
2:增减文字==看以注释
txt_array = ["琴", "者", "工", "作", "室"]; //这里是文字,增减文字先动这里
//跟随鼠标的文字定义为数组中的元素
for (j=0; j<5; j++) { //这里是循环数组里的文字,并且创建movieclip,即这里的5就是文字长度,建议改成组长度比较好
_mc.duplicateMovieClip("_mc"+j, j+100);
this["_mc"+j]._txt.text = txt_array[j];
//复制影片剪辑并使动态文本中的内容为对应数组中的元素
this["_mc"+j]._txt.autoSize = true;
this["_mc"+j]._txt.selectable = false;
//设置动态文本
this["_mc"+j].vx = this["_mc"+j].vy=0;
//初始化影片剪辑的变量vx、vy值均为0
}
onEnterFrame = function () {
mcxy(_mc0, _xmouse, _ymouse);
for (j=1; j<5; j++) { //这里的5也是文字长度
mcxy(this["_mc"+j], this["_mc"+(j-1)]._x, this["_mc"+(j-1)]._y);
//如果要更改文字间距,这里是关键,把上边那行改成如下的即可,即加上一个偏移量
//mcxy(this["_mc"+j], this["_mc"+(j-1)]._x+5, this["_mc"+(j-1)]._y);
}
};
//运行每一帧时影片剪辑的坐标执行如下自定义函数
function mcxy(_mc, a, b) {
_mc.vx += (a-_mc._x)*.5;
_mc.vy += (b-_mc._y)*.5;
_mc.vx *= .5;
_mc.vy *= .5;
_mc.vx += 4;
_mc._x += _mc.vx;
_mc._y += _mc.vy;
}
附:没有测试过,不知道正不正常,另外就是建议改用as3
2:增减文字==看以注释
txt_array = ["琴", "者", "工", "作", "室"]; //这里是文字,增减文字先动这里
//跟随鼠标的文字定义为数组中的元素
for (j=0; j<5; j++) { //这里是循环数组里的文字,并且创建movieclip,即这里的5就是文字长度,建议改成组长度比较好
_mc.duplicateMovieClip("_mc"+j, j+100);
this["_mc"+j]._txt.text = txt_array[j];
//复制影片剪辑并使动态文本中的内容为对应数组中的元素
this["_mc"+j]._txt.autoSize = true;
this["_mc"+j]._txt.selectable = false;
//设置动态文本
this["_mc"+j].vx = this["_mc"+j].vy=0;
//初始化影片剪辑的变量vx、vy值均为0
}
onEnterFrame = function () {
mcxy(_mc0, _xmouse, _ymouse);
for (j=1; j<5; j++) { //这里的5也是文字长度
mcxy(this["_mc"+j], this["_mc"+(j-1)]._x, this["_mc"+(j-1)]._y);
//如果要更改文字间距,这里是关键,把上边那行改成如下的即可,即加上一个偏移量
//mcxy(this["_mc"+j], this["_mc"+(j-1)]._x+5, this["_mc"+(j-1)]._y);
}
};
//运行每一帧时影片剪辑的坐标执行如下自定义函数
function mcxy(_mc, a, b) {
_mc.vx += (a-_mc._x)*.5;
_mc.vy += (b-_mc._y)*.5;
_mc.vx *= .5;
_mc.vy *= .5;
_mc.vx += 4;
_mc._x += _mc.vx;
_mc._y += _mc.vy;
}
附:没有测试过,不知道正不正常,另外就是建议改用as3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.修改flash大小不会影响代码。但是为了自己方便,你最好不要把这些都放在主场景上啊,新建一个影片剪辑,把这些效果都放在影片剪辑里面,这样修改,维护都方便多了,这是个好习惯。
2、设置文字的属性,设置那个动态文本的属性即可(比如文字大小,,字体,颜色等),添加文字改这里
txt_array = ["琴", "者", "工", "作", "室"];
另外吧for里面的数字该为文字个数。
这里调整文字间距,字体较大时,把4改为更大数值。
_mc.vx += 4;
3.他这个稍有点麻烦,我也帮你推荐个简单,容易修改的制作方法。
-----------------------------
步骤如下:
a、新建一个影片剪辑1,在场景拉一动态文本,实例名为_txt(字较多的话拉长点哦)
b。另新建影片剪辑2.把影片剪辑1拉进来,实例名mc0
c。在影片剪辑2的第一帧输入代码:
------------------------------------------
var disWord = "有朋自远方来";//这里改文字
var dConst = 4;//这里设置跟随速度
var xConst = 50;//这里设置字间距
var yConst = 0;//这里设置Y方向的偏移
//不用设置字符的长度
//以下代码不用改
var sConst = 4.000000E-001;
var count = disWord.length;
var i = 0;
while (i < count)
{
if (i == 0)
{
mc0.swapDepths(count - i);
}
else
{
mc0.duplicateMovieClip("mc" + i, count - i);
} // end else if
this["mc" + i]._xscale = this["mc" + i]._yscale = 100 * (1 - sConst + sConst * (1 - i / count));
this["mc" + i]._txt.text = disWord.substr(i, 1);
++i;
} // end while
onEnterFrame = function ()
{
this.mc0._x = this._xmouse;
this.mc0._y = this._ymouse;
for (var _loc2 = 1; _loc2 < count; ++_loc2)
{
var _loc4 = xConst * (1 - sConst + sConst * (1 - _loc2 / count));
var _loc3 = yConst * (1 - sConst + sConst * (1 - _loc2 / count));
this["mc" + _loc2]._x = this["mc" + _loc2]._x + (this["mc" + (_loc2 - 1)]._x + 0.6500000E+000 * _loc4 - this["mc" + _loc2]._x) / dConst;
this["mc" + _loc2]._y = this["mc" + _loc2]._y + (this["mc" + (_loc2 - 1)]._y + 1.0500000E+000 * _loc3 - this["mc" + _loc2]._y) / dConst;
} // end of for
};
-----------------------
这样做的好处就是容易修改,把需要修改的参数用个变量放在前面,修改的时候就不用在代码里面找那么麻烦了。
2、设置文字的属性,设置那个动态文本的属性即可(比如文字大小,,字体,颜色等),添加文字改这里
txt_array = ["琴", "者", "工", "作", "室"];
另外吧for里面的数字该为文字个数。
这里调整文字间距,字体较大时,把4改为更大数值。
_mc.vx += 4;
3.他这个稍有点麻烦,我也帮你推荐个简单,容易修改的制作方法。
-----------------------------
步骤如下:
a、新建一个影片剪辑1,在场景拉一动态文本,实例名为_txt(字较多的话拉长点哦)
b。另新建影片剪辑2.把影片剪辑1拉进来,实例名mc0
c。在影片剪辑2的第一帧输入代码:
------------------------------------------
var disWord = "有朋自远方来";//这里改文字
var dConst = 4;//这里设置跟随速度
var xConst = 50;//这里设置字间距
var yConst = 0;//这里设置Y方向的偏移
//不用设置字符的长度
//以下代码不用改
var sConst = 4.000000E-001;
var count = disWord.length;
var i = 0;
while (i < count)
{
if (i == 0)
{
mc0.swapDepths(count - i);
}
else
{
mc0.duplicateMovieClip("mc" + i, count - i);
} // end else if
this["mc" + i]._xscale = this["mc" + i]._yscale = 100 * (1 - sConst + sConst * (1 - i / count));
this["mc" + i]._txt.text = disWord.substr(i, 1);
++i;
} // end while
onEnterFrame = function ()
{
this.mc0._x = this._xmouse;
this.mc0._y = this._ymouse;
for (var _loc2 = 1; _loc2 < count; ++_loc2)
{
var _loc4 = xConst * (1 - sConst + sConst * (1 - _loc2 / count));
var _loc3 = yConst * (1 - sConst + sConst * (1 - _loc2 / count));
this["mc" + _loc2]._x = this["mc" + _loc2]._x + (this["mc" + (_loc2 - 1)]._x + 0.6500000E+000 * _loc4 - this["mc" + _loc2]._x) / dConst;
this["mc" + _loc2]._y = this["mc" + _loc2]._y + (this["mc" + (_loc2 - 1)]._y + 1.0500000E+000 * _loc3 - this["mc" + _loc2]._y) / dConst;
} // end of for
};
-----------------------
这样做的好处就是容易修改,把需要修改的参数用个变量放在前面,修改的时候就不用在代码里面找那么麻烦了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.当然不会更改代码
2。在txt_array = ["琴", "者", "工", "作", "室"];
这里增加
还要改for (j=0; j<5; j++) {这里的5,就是说你有几个字就改相应的几个字啊!
3。改这句
_mc.vx += 4 这个4改成你要改的距离
我测试了很久,绝对有效!
如需要改其它可以联系!
2。在txt_array = ["琴", "者", "工", "作", "室"];
这里增加
还要改for (j=0; j<5; j++) {这里的5,就是说你有几个字就改相应的几个字啊!
3。改这句
_mc.vx += 4 这个4改成你要改的距离
我测试了很久,绝对有效!
如需要改其它可以联系!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询