zoukankan      html  css  js  c++  java
  • as 中常用的一些公式

    基本三角函数的计算:
    角的正弦值 = 对边 / 斜边
    角的余弦值 = 邻边 / 斜边
    角的正切值 = 对边 / 邻边

    角度制与弧度制的相互转换:
    弧度 = 角度 * Math.PI / 180
    角度 = 弧度 * 180 / Math.PI

    计算两点间距离:
    dx = x2 – x1;
    dy = y2 – y1;
    dist = Math.sqrt(dx*dx + dy*dy);

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

    弹性公式:
    vx += (targetX - sprite.x) * spring;//spring为弹性系数
    vy += (targetY - sprite.y) * spring;
    sprite.x += (vx *= friction);//friction为摩擦力
    sprite.y += (vy *= friction);

    偏移弹性公式:
    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;

    向鼠标旋转(或向某点旋转)
    dx = mouseX - sprite.x;
    dy = mouseY - sprite.y;
    sprite.rotation = Math.atan2(dy, dx) * 180 / Math.PI;

    波形运动:
    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;
    }

    圆心旋转:
    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;
    }

  • 相关阅读:
    mysql数据库的test类型
    jvm虚拟机分享课笔记
    内存模型中没有gc的是哪个
    jvm内存模型中-栈,方法区,程序计数器是线程安全的
    Random.nextInt()替换Math.random()
    异常抛出注意点
    缓存好文章
    java 实现serialVersionUID
    什么叫反向代理什么叫正向代理
    mysql count与sum的区别
  • 原文地址:https://www.cnblogs.com/yanshuoistutu/p/2725284.html
Copyright © 2011-2022 走看看