[Flash基础理论课15] 绚酷鼠标 [目标移动]
2009-05-30 12:09:11 来源:WEB开发网在学习之前,我们先复习一下前面(功能代码07<百变图>)曾用过的
目标移动公式:
mc.当前坐标 += (mc.目标坐标 - mc.当前坐标) * A 缓动常量( 0 < A < 1 )
例如:
舞台上有一个影片剪辑,实例名为 mc,使其移动到 x=400, y=300 的位置
mc.Tox = 400;
mc.Toy = 300;
mc.onEnterFrame = function() {
this._x += (this.Tox - this._x) * 0.3;
this._y += (this.Toy - this._y) * 0.3;
//更新每个实例的坐标了,可理解为:
//实例的 X 坐标 = 自己的X坐标 +(目标的X坐标–自己的X坐标)*0.3
//实例的 Y 坐标 = 自己的Y坐标 +(目标的Y坐标–自己的Y坐标) *0.3
};
实例一
思路:
1.复制出Num个鼠标,鼠标的透明度递减(如果i是递增的,N-i 就是递减的);
2.用第Num鼠标作为当前鼠标,其它均为跟随;
3.跟随的原理就是以前一个鼠标位置作为目标坐标,使后一个鼠标向前一个的位置移动。
步骤1:
绘制一个鼠标,保存为影片剪辑,连接—>导出—>标志符"mouse"
步骤2:
加入AS代码:
Mouse.hide();
//隐藏原有鼠标
var Num = 10;
//鼠标跟随的数量
for (var i = 0; i < Num; i++) {
_root.attachMovie("mouse", "m"+i, i);
//复制出Num个鼠标的影片剪辑
this["m"+i]._alpha = (Num-i) / Num * 100;
//设置出渐隐效果,每个鼠标的透明度递减
}
_root.onEnterFrame = function() {
this["m"+0]._x = _xmouse;
this["m"+0]._y = _ymouse;
//让this["m"+0]作为当前鼠标
for (var i = 1; i < Num; i++) {
this["m"+i]._x += ((this["m"+(i-1)]._x) - this["m"+i]._x) * 0.5;
this["m"+i]._y += ((this["m"+(i-1)]._y) - this["m"+i]._y) * 0.5;
}
//令后一个鼠标跟随前一个鼠标的位置,缓动地向前一个鼠标接近
};
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接