AS3常用动画效果公式集合

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

AG:

<!-- 示例一:AS3缓动公式 从(0,0)移到(x,y) -->
<div id="box" style="width: 100px; height: 100px; background: #f85455;position: absolute;"></div>
<script>
    var  CS3HD = {
        easeOut: function(target,sprite){
            //target目标坐标点l;
            sprite.x += (target.x - sprite.x) * 0.1;//easing为缓动系数变量
            sprite.y += (target.y - sprite.y) * 0.1;
            return sprite;
        }
    }
    var box = document.getElementById(‘box‘);
    var target = {x: 300,y: 400} , oldSprite = {x: 0,y: 0};
    var timer = null;
    function run(){
        oldSprite = CS3HD.easeOut(target,oldSprite);
        box.style.left = Math.ceil(oldSprite.x) + ‘px‘;
        box.style.top =  Math.ceil(oldSprite.y) + ‘px‘;
        timer = setTimeout(run,1000/60);
        if(oldSprite.x > target.x){
            clearTimeout(timer);
        }
    }
    run();
</script>
<!-- 示例二:AS3缓动公式 从(y,y)移到(0,0)-->
<div id="box2" style="width: 100px; height: 100px; background: #f85455;position: absolute;top:300px;left:300px;"></div>
<script>
    var  CS3HD = {
        easeIn: function(target,sprite){
            //target目标坐标点l;
            sprite.x -= (sprite.x - target.x) * 0.1;//easing为缓动系数变量
            sprite.y -= (sprite.y - target.y) * 0.1;
            return sprite;
        },
        easeOut: function(target,sprite){
            //target目标坐标点l;
            sprite.x += (target.x - sprite.x) * 0.1;//easing为缓动系数变量
            sprite.y += (target.y - sprite.y) * 0.1;
            return sprite;
        }
    }
    var box = document.getElementById(‘box2‘);
    var target = {x: 0,y: 0} , oldSprite = {x: 300,y: 300};
    var timer = null;
    function run(){
        oldSprite = CS3HD.easeIn(target,oldSprite);
        box.style.left = Math.floor(oldSprite.x) + ‘px‘;
        box.style.top =  Math.floor(oldSprite.y) + ‘px‘;
        timer = setTimeout(run,1000/60);
        if(oldSprite.x <= target.x){
            clearTimeout(timer);
        }
    }
    run();
</script>

AS3弹性公式:
vx += (targetX – sprite.x) * spring;//spring为弹性系数
vy += (targetY – sprite.y) * spring;
sprite.x += (vx *= friction);//friction为摩擦力
sprite.y += (vy *= 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;

AS3波形运动:
public function onEnterFrame1(event:Event):void {
ball.y=centerScale+Math.sin(angle)*range;
angle+=speed;
}

心跳:
public function onEnterFrame1(event:Event):void {
ball.scaleX=centerScale+Math.sin(angle)*range;
ball.scaleY=centerScale+Math.sin(angle)*range;
angle+=speed;
}

AS3圆心旋转:
public function onEnterFrame(event:Event):void {
ball.x=centerX+Math.cos(angle)*radius;
ball.y=centerY+Math.sin(angle)*radius;
angle+=speed;
}

椭圆旋转:
public function onEnterFrame(event:Event):void {
ball.x=centerX+Math.cos(angle)*radiusX;
ball.y=centerY+Math.sin(angle)*radiusY;
angle+=speed;
}
AS3颜色运算得到透明值:
var t:uint=0x77ff8877
var s:uint=0xff000000
var h:uint=t&s
var m:uint=h>>>24
trace(m)
AS3转换为十进制:
trace(hexValue);
AS3十进制转换为十六进制:
decimalValue.toString(16)
AS3颜色提取:
red = color24 >> 16;
green = color24 >> 8 & 0xFF;
blue = color24 & 0xFF;
alpha = color32 >> 24;
red = color32 >> 16 & 0xFF;
green = color32 >> 8 & 0xFF;
blue = color232 & 0xFF;
AS3按位计算得到颜色值:
color24 = red << 16 | green << 8 | blue;
color32 = alpha << 24 | red << 16 | green << 8 | blue;
AS3过控制点的曲线:
// xt, yt is the point you want to draw through
// x0, y0 and x2, y2 are the end points of the curve
x1 = xt * 2 – (x0 + x2) / 2;
y1 = yt * 2 – (y0 + y2) / 2;
moveTo(x0, y0);
curveTo(x1, y1, x2, y2);

时间: 2024-10-14 00:01:49

AS3常用动画效果公式集合的相关文章

ios UIView常用动画效果

一 //调用 1 2 3 4 5 6 if(m_viewScenario.superview == nil)<br>{     m_viewScenario.alpha = 1.0;     m_viewScenario.transform = CGAffineTransformIdentity;     [self zoomIn:m_viewScenario andAnimationDuration:1.0 andWait:YES];     [self.view addSubview:m_

几种常用的Interpolator(插值器)的动画效果

在实现动画的非线性变化的方法中,常用的一种是为动画添加插值器以改变视图的属性值,从而实现理想的动画效果.Interpolator使用相对简单,下面就只给出一些提供的插值器的默认效果. 在代码中:直接调用setInterpolator(new AccelerateInterpolator()); 在xml中:android:interpolator="@android:anim/accelerate_interpolator"如果几个动画共用一个插值器,则:android:shareIn

CABasicAnimation学习Demo 包括了一些常用的动画效果

个人写的一些例子: // // ViewController.m // CABasicAnimationDemo // // Created by haotian on 14-6-13. // Copyright (c) 2014年 Baseus. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @syn

animate.css 一些常用的CSS3动画效果

大家已经开始在项目中使用一些CSS3动画效果了吧,这让网站在高端浏览器上看起来很上流.animate.css是一个老外做的各种CSS3动画的合集,比较全,也很炫,大家可以参考学习一下. 项目主页:http://daneden.me/animate/ 自定义下载样式:http://daneden.me/animate/build/ git地址:https://github.com/daneden/animate.css

Android分别通过代码和xml实现动画效果

一.Android动画类型 Android的animation由四种类型组成: XML中 alph 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果 二.Android动画模

【Android的从零单排开发日记】之入门篇(十六)——Android的动画效果

      什么是动画,动画的本质是通过连续不断地显示若干图像来产生“动”起来的效果.比如说一个移动的动画,就是在一定的时间段内,以恰当的速率(起码要12帧/秒以上,才会让人产生动起来的错觉)每隔若干时间在屏幕上更新一次位置.游戏中的动画效果也是由此而来.同样还有其他属性变更所引起的动画效果,从数学的角度来看,包括:(1)平移(2)旋转(3)缩放(4)透明度.当然这些属性可以组合起来使用,来达到更绚丽的画面.但是不论什么样的组合方式,我们都可以统一用Matirx运算来实现,从技术实现的角度来讲,

iOS开发——仿淘宝添加到购物车的动画效果实现

这篇博文实在不知道该起什么名字才能概况我的意思...挫语文水平 类似于淘宝一样,我们在写一些购物.订餐之类的app的时候,在用户选择购买或者加入购物车时可以添加一个商品飞到购物车中的动画效果,如下图所示: 实现这个效果还是不算难的,但涉及的问题比较多,还是挺有学习价值的.主要面对的问题有以下几点 1.cell中有button,如何获得该button,即如何知道用户点击的是哪一个button. 2.坐标系的转换,这里频繁使用坐标系转换,主要原因是这里需要涉及三个视图--cell.tableView

(转)动画效果android

第9章  Android动画效果 Android系统提供了两种实现动画的方式,一种是补间动画(Tween Animation),另一种是帧动画(Frame Animation).补间动画可以实现View组件的移动.放大.缩小以及渐变等效果,帧动画则提供了一种逐帧播放图片的动画方式.无论是补间动画还是帧动画,Android均为其进行了封装,提供了非常简单的应用接口. 9.1  Animation类:动画抽象类 Animation类是Android系统的一个动画抽象类,所有其他一些动画类都要继承该类

Core Animation 动画效果介绍

在开始之前呢,先了解一下UIView和CALayer大体的区别(重点列举了以下四点): UIView继承自 UIResponder,因此UIView 可以处理响应事件,而CALayer继承自NSObject,所以它只是负责内容的创建,绘制. UIView负责对内容的管理,而CALayer则是对内容的绘制 UIView中有关位置的属性只有frame.bounds.center,而CALayer除了具备这些属性之外还有anchorPoint.position. 通过修改CALayer可以实现UIVi