actionscript3 常用类库




// ======================================


// 扩展Math函数 


// ======================================



package  cn.flashOpen.kit  ... {

import flash.display.Sprite;
import flash.display.MovieClip;
import flash.geom.Point;


    
public class ExtMath
    
...{
        
        
//坐标转换
        
//car2Flash//迪卡尔坐标转成Flash坐标
        public static function car2Flash(_mc) 
        
...{
            _mc.y 
= _mc.y * -1;
            _mc.rotation 
= _mc.rotation * -1;
        }

        
        
        
        
//flash2Car//Flash坐标转成迪卡尔坐标
        public static function flash2Car (_mc) 
        
...{
            
return (car2Flash(_mc));
        }

        
        
        
        
//car2Polar//迪卡尔坐标转成极坐标
        public static function car2Polar (x:Number, y:Number) 
        
...{
            var len:Number 
= Math.sqrt((x * x) + (y * y));
            var ang:Number 
= atan2D(y, x);
            
return (...{r:len, a:ang});
        }

        
        
        
        
//polar2Car//极坐标转成迪卡尔坐标
        public static function polar2Car (len:Number, ang:Number) 
        
...{
            var xx:Number 
= len * cosD(ang);
            var yy:Number 
= len * sinD(ang);
            
return (...{x:xx, y:yy});
        }

        
        
        
        
//getMcCoordG//获得本身全局坐标
        public static function getMcCoordG (_mc)
        
...{
            
//_mc为要获得坐标的影片,他的坐标系影片为:_mc.parent;
            var p:Point = new Point(_mc.x, _mc.y);
            p 
= _mc.parent.localToGlobal(p);
            
return p;
        }

        
        
        
        
//getCoordG//获得影片全局坐标
        public static function getCoordG (_mc, _xx:Number, _yy:Number)
        
...{
            
//_mc要xx,yy所在坐标系的影片(若xx = myMc.x,则坐标系影片为:myMc.parent)
            var p:Point = new Point(_xx, _yy);
            p 
= _mc.localToGlobal(p);
            
return p;
        }

        
        
        
//getCoordL//获得影片本地坐标
        public static function getCoordL (_mc, _xx:Number, _yy:Number)
        
...{
            
//_mc要xx,yy要转入的坐标系的影片
            var p:Point = new Point(_xx, _yy);
            p 
= _mc.parent.globalToLocal(p);
            
return p;
        }

        
        
        
//mc2McCoord//转换成特定影片的坐标
        public static function mc2McCoord (_mc1, _mc2, _xx, _yy)
        
...{
            
//mc1为_xx,_yy所在的坐标系影片,_mc2为要转入的坐标系影片
            var p:Point = new Point(_xx, _yy);
            p 
= _mc1.localToGlobal(p);
            p 
= _mc2.parent.globalToLocal(p);
            
return p;
        }

        
        
        
        
        
        
        
        
        
//数学函数
        
        
        
//标签
        
//getRand//获得随机数
        static function getRand(_nStartNum:Number, _nEndNum:Number, _nDecimalDigits:Number)
        
...{
            var nRange 
= _nEndNum - _nStartNum;
            var nRand 
= _nStartNum + Math.random() * nRange;
            var nScale 
= Math.pow(10, _nDecimalDigits);
            nRand 
= Math.floor(nRand * nScale)/nScale;
            
            
return nRand;
        }

        
    
        
//randPole//获得随机正负标签
        public static function randPole ()
        
...{
            var nPole:Number 
= Math.random() > 0.5 ? 1:-1;
            
return nPole;
        }

        
        
        
//intRand//获得随机向下取整的整数
        public static function intRand (_n:Number)
        
...{
            var n:Number 
= Math.floor(Math.random() * _n);
            
return n;
        }

        
        
        
//intCeil//获得随机向上取整的整数
        public static function ceilRand (_n:Number)
        
...{
            var n:Number 
= Math.ceil(Math.random() * _n);
            
return n;
        }

        
        
        
        
        
        
//距离
        
//getDis//获得距离
        public static function getDis (_x1:Number, _y1:Number, _x2:Number, _y2:Number)
        
...{
            var dx:Number 
= _x2 - _x1;
            var dy:Number 
= _y2 - _y1;
            var L:Number 
= Math.sqrt(dx * dx + dy * dy);
            
return L;
        }

        
        
        
        
//getL2//获得三角形短边
        public static function getL2 (_l1:Number, _l3:Number)
        
...{
            
//_l1为短边, _l3为长边
            var l2:Number = Math.sqrt(_l3 * _l3 - _l1 * _l1);
            
return l2;
        }

        
        
        
        
//getL3//获得三角形长边
        public static function getL3 (_l1:Number, _l2:Number)
        
...{
images.cs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值