打印

dx请进

各位DX看看下面鼠标跟随的代码:
实例名为trail0的mc其第一桢:
i = 18;
a = 3;
b = 3;
k = 30;
while (Number(i)>=0) {
set ("/trail" add i add ":x_value", getProperty ("/trail" add i,_x));
set ("/trail" add i add ":y_value", getProperty ("/trail" add i,_y));
set ("/trail" add i add ":vx", 0);
set ("/trail" add i add ":vy", 0);
i = i-1;
}
startDrag ("/trail0", true);
第二桢:
i= 1;
while (Number(i)<=18) {
set ("/trail" add i add ":vx", (eval("/trail" add i add ":vx")+(eval("/trail" add (i-1) add ":x_value")+k-eval("/trail" add i add ":x_value"))*1/a)/b);
set ("/trail" add i add ":vy", (eval("/trail" add i add ":vy")+(eval("/trail" add (i-1) add ":y_value")-eval("/trail" add i add ":y_value"))*1/a)/b);
set ("/trail" add i add ":x_value", eval("/trail" add i add ":x_value")+eval("/trail" add i add ":vx"));
set ("/trail" add i add ":y_value", eval("/trail" add i add ":y_value")+eval("/trail" add i add ":vy"));
i = Number(i)+1;
}
/trail0:x_value = getProperty("/trail0", _x);
/trail0:y_value = getProperty("/trail0", _y);
i = 18;
while (Number(i)>=1) {
setProperty ("/trail" add i, _x, eval("/trail" add i add ":x_value"));
setProperty ("/trail" add i, _y, eval("/trail" add i add ":y_value"));
i = i-1;
}
第三桢:
gotoAndPlay(2);
大部分菜鸟都能明白,就是不明白为什么要定义a,b的值呢?还有(eval("/trail" add i add ":vx")+(eval("/trail" add (i-1) add ":x_value")+k-eval("/trail" add i add ":x_value"))*1/a)/b);
有什么用途,是什么意思。详细地解释一下a,b的意思。


孤独的南方雁飞到北方寻找他的梦想.
蓦然回首,
赫然发现原来梦还在天涯.
类似monocraft的鼠标跟随,a和b只是一个效果参数(我个人理解),要得到最佳的效果就要有一个可调的参数,你可以改变它们的值看看效果有什么变化。
eval()是求值函数,“...” add i add “...” 只能得到一个字符串,而不是一个变量值,因此需要用eval()求得这个变量的值。