AS3常用动画效果公式集合

AS3缓动公式:
sprite.x += (targetX – sprite.x) * easing;//easing为缓动系数变量
sprite.y += (targetY – sprite.y) * easing;

这个是比较烂俗的缓动, 有更好的Tweenlite缓动包可以用
AS3弹性公式:
vx += (targetX – sprite.x) * spring;//spring为弹性系数
vy += (targetY – sprite.y) * spring;
sprite.x += (vx *= friction);//friction为摩擦力
sprite.y += (vy *= friction);
要注意的是friction数值要合理,否则动画会很生硬
AS3偏移弹性公式:
var dx:Number = sprite.x – fixedX;
var dy:Number = sprite.y – fixedY;
var angle:Number = Math.atan2(dy, dx);
var targetX:Number = fixedX + Math.cos(angle) * springLength;
var targetY:Number = fixedX + Math.sin(angle) * springLength;
AS3向鼠标旋转(或向某点旋转)
dx = mouseX – sprite.x;
dy = mouseY – sprite.y;
sprite.rotation = Math.atan2(dy, dx) * 180 / Math.PI;

这个公式与第一个缓动公式结合使用可以实现网站上常用的鼠标更随效果。
心跳:
public function onEnterFrame1(event:Event):void {
ball.scaleX=centerScale+Math.sin(angle)*range;
ball.scaleY=centerScale+Math.sin(angle)*range;
angle+=speed;
}

模拟心跳效果,里面使用到了震荡波
AS3颜色运算得到透明值:
var t:uint=0x77ff8877
var s:uint=0xff000000
var h:uint=t&s
var m:uint=h>>>24
trace(m)
AS3按位计算得到颜色值:
color24 = red << 16 | green << 8 | blue;
color32 = alpha << 24 | red << 16 | green << 8 | blue;
鼠标到Sprite之间连线
public function onMouseMove(event:MouseEvent):void {
graphics.clear();
graphics.lineStyle(1, 0, 1);
graphics.moveTo(sprite1.x, sprite1.y);
graphics.lineTo(mouseX, mouseY);
var dx:Number=sprite1.x-mouseX;
var dy:Number=sprite1.y-mouseY;
var dist:Number=int(Math.sqrt(dxdx+dydy));
textField.text=dist.toString();
}
电流动画效果
function Draw():void {  
            //每次绘制之前先清屏  
            sp.graphics.clear();  
            //设置线条样式  
            sp.graphics.lineStyle(1,0x00ccff);  
            //起始绘制位置  
            sp.graphics.moveTo(0,100);  
            //使用循环绘制多节点图形  
            for (var i:int=0; i < 400; i=i + 3) {  
                //绘制的位置  
                var rx=i;  
                var ry=90+ 20 * Math.random();  
                //绘制  
                sp.graphics.lineTo(rx,ry);  
            }  
        }

在帧循环事件中重复调用的Draw方法可以实现电流效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值