Flash 中的物理运动知识
2007-01-28 10:59:48 来源:WEB开发网核心提示: spring非常类似于easing,但它的效果比easing更cool,Flash 中的物理运动知识(7),一般的方法为定义一个目标点,计算出到它的距离,加上重力看看什么效果,一个小作业,加速度为距离与摩擦系数的积,同时还需要使用摩擦
spring非常类似于easing,但它的效果比easing更cool。一般的方法为定义一个目标点,计算出到它的距离,加速度为距离与摩擦系数的积,同时还需要使用摩擦。
代码:
var targetx = 200;
var targety = 150;
fraction = .9;
vx = 0;
vy = 0;
onEnterFrame = function () {
if (!dragging) {
//起始点与目标地点的距离
dx = targetx-my_mc._x;
dy = targety-my_mc._y;
//加速度
vx += dx*.3;
vy += dy*.3;
//加入摩擦
vx *= fraction;
vy *= fraction;
my_mc._x += vx;
my_mc._y += vy;
}
};
my_mc.onPress = function() {
this.startDrag();
dragging = true;
};
my_mc.onRelease=function() {
this.stopDrag();
dragging = false;
};
spring 与鼠标相连
下面我们要对spring 进行一下简单的扩展,我们可以将目标地点设为光标的坐标值,同时可以使用drawing api用画线的方式将其相连起来。
代码:
var targetx = 200;
var targety = 150;
fraction = .9;
vx = 0;
vy = 0;
onEnterFrame = function () {
dx = _xmouse-my_mc._x;
dy = _ymouse-my_mc._y;
vx += dx*.3;
vy += dy*.3;
vx *= fraction;
vy *= fraction;
my_mc._x += vx;
my_mc._y += vy;
//画线与mouse相连
clear();
lineStyle(1,0,100);
moveTo(_xmouse,_ymouse);
lineTo(my_mc._x,my_mc._y);
};
现在我们在变通一下,小球在自然界中是有重力的。加上重力看看什么效果。一个小作业,你试一下。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接