zoukankan      html  css  js  c++  java
  • AS3的百条常用知识收藏

    【确保类是绝不会有子类,使用final】
    final public class Example{}

    【super关键字的使用】
    super(); //父类的构造函数,只能在类实例构造函数内部使用
    super.propertyName; //调用父类的属性,属性需要声明为public或protected
    super.methodName(); //调用父类的方法,方法需要声明为public或protected

    【建立常数,使用关键字const而不是var】
    static public const EXAMPLE:String = “example”;

    【检测播放器版本】
    flash.system.Capabilities.version
    对于8.5版以前的任何Flash Player版本,这种方法都不适用.

    【判断客户端系统】
    flash.system.Capabilities.os

    【检测播放器类型】
    flash.system.Capabilities.playerType
    可能的值有:
    “StandAlone”,用于独立的 Flash Player
    “External”,用于外部的 Flash Player 或处于测试模式下
    “PlugIn”,用于 Flash Player 浏览器插件
    “ActiveX”,用于 Microsoft Internet Explorer 使用的 Flash Player ActiveX 控件

    【检测系统语言】
    flash.system.Capabilities.language

    【判断用户是否启用了IME(输入法编辑器)】
    flash.system.IME.enabled

    【检测屏幕的分辨率】
    flash.system.Capabilities.screenResolutionX
    flash.system.Capabilities.screenResolutionY

    【把弹出窗口居中的算法】
    X = (舞台宽/2)-(窗口宽/2)
    Y = (舞台高/2)-(窗口高/2)

    【控制影片配合Player的方式,包括缩放问题】
    stage.scaleMode
    可供选择值:flash.display.StageScaleMode

    【舞台的对齐方式】
    stage.align
    可供选择值:flash.display.StageAlign

    【隐藏Flash Player的右键菜单】
    stage.showDefaultContextMenu = false;

    【检测系统是否具有音频功能】
    flash.system.Capabilities.hasAudio

    【检测播放器是在具有MP3解码器的系统上运行,还是在没有MP3解码器的系统上运行】
    flash.system.Capabilities.hasMP3

    【检测播放器能 (true) 还是不能 (false) 播放流式视频】
    flash.system.Capabilities.hasStreamingVideo

    【检测播放器是在支持 (true) 嵌入视频的系统上运行,还是在不支持 (false) 嵌入视频的系统上运行】
    flash.system.Capabilities.hasEmbeddedVideo

    【检测播放器能 (true) 还是不能 (false) 对视频流(如来自 Web 摄像头的视频流)进行编码】
    flash.system.Capabilities.hasVideoEncoder

    【显示 Flash Player 中的”安全设置”面板】
    flash.system.Security.showSettings();
    可供选择项:flash.system.SecurityPanel

    【让其它域的.swf访问本域的.swf】
    在本域的.swf文件里加上:flash.system.Security.allowDomain()
    或者使用安全策略文件”crossdomain.xml”.在Flash 8以前,这个文件必须放在.swf所在域的根目录,现在,你可以使用flash.system.Security.loadPolicyFile(),指定安全策略文件所在的位置.拒绝任何域的做法是在<cross-domain-policy>标签内什么也不填,安全策略文件也支持通用字符 “*”:
    <?xml version=”1.0″?>
    <!– http://www.mydomain.com/crossdomain.xml –>
    <cross-domain-policy>
    <allow-access-from domain=”www.riahome.cn” />
    <allow-access-from domain=”*.Y-boy.cn” />
    <allow-access-from domain=”210.38.196.48″ />
    <allow-access-from domain=”*” />
    </cross-domain-policy>

    【数字的不同进制之间的转换】
    parseInt(str:String, radix:uint = 0):Number 返回十进制的数,参数radix表示要分析的数字的基数.如果省略radix,就默认为10,除非字符串的开头是”0x”,”0X”或”0″:
    trace(parseInt(”0×12″)); //设定radix为16,输出:18
    trace(parseInt(”017″)); //设定radix为8,输出:15
    或者使用Number,uint和int对象的toString(radix)方法.

    【使用Math.round()对一个数取整,四舍五入】
    Math.round()
    trace(Math.round(204.499)); //输出:204
    trace(Math.round(401.5)); //输出:402

    【使用Math.floor()对一个数向下取整,就是只要整数部分而不理会小数分】
    trace(Math.floor(204.99)); //输出:204

    【使用Math.ceil()对一个数向上取整,只要小数部分不为零,整数部分就加1】
    trace(Math.ceil(401.01)); //输出:402

    【产生一个随机数】
    使用Math.random()产生一个伪随机数n,其中 0 <= n < 1

    【把数字取至最近的小数点位,即指定精确度】
    1. 决定你要取的数字的小数点位数:例如,如果你想把90.337取成90.34,就表示你要取到两位小数点位,也就是说你想取至最近的0.01;
    2. 让输入值除以步骤1所选的数字(此例为0.01);
    3. 使用Math.round()把步骤2所计得的值取成最近的整数;
    4. 把步骤3所得的结果乘以步骤2用于除法的那个值.
    例如,要把90.337取成两个小数点位数,可以使用:
    trace(Math.round(90.337/0.01)*0.01); //输出:90.34

    【把数字取成一个整数的最接近倍数值】
    例1,这样会把92.5取成5的最近倍数值:
    trace(Math.round(92.5/5)*5); //输出:95
    例2,这样会把92.5取成10的最近倍数值:
    trace(Math.round(92.5/10)*10); //输出:90

    【在指定数值范围内获得随机数】
    //可取范围:[min, max]
    private function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
    }
    应用例子:
    模拟投银币,即希望得到随机布尔值(true 或 false): randRange(0, 1);
    模拟投骰子,即希望得到随机六个值: randRange(1, 6);
    为避免被缓存而需要产生一个独一无二的数字追加在URL尾端,通常最佳方法是取得当前毫秒数.

    【弧度(radian)与度数(degree)之间的转换】
    从弧度转为度数: degrees = radians * 180 / Math.PI
    从度数转为弧度: radians = degrees * Math.PI / 180

    【计算两点之间的距离】
    勾股定理: c2 = a2 + b2
    假设有两个影片剪辑mc1和mc2,则它们两点间的距离c为:
    var c:Number = Math.sqrt(Math.pow(mc1.x - mc2.x, 2) + Math.pow(mc1.y - mc2.y, 2));

    【模拟圆周运动】
    已知圆心o(x0, y0),半径r和弧度angle,求圆上任意一点P(x, y)的坐标:
    x = x0 + (Math.cos(angle) * r);
    y = y0 + (Math.sin(angle) * r);
    注意:舞台的x轴正方向水平向右,y轴正方向垂直向下.

    【模拟椭圆运动】
    已知圆心o(x0, y0),长轴a,短轴b以及弧度angle,求圆上任意一点P(x, y)的坐标:
    x = x0 + (Math.cos(angle) * a);
    y = y0 + (Math.sin(angle) * b);

    【华氏温度和摄氏温度之间的转换】
    华氏温度 = 摄氏度数 * 9 / 5 + 32
    摄氏温度 = (华氏度数 - 32) * 5 /9

    【公斤与磅之间的转换】
    公斤 = 磅 * 2.2
    磅 = 公斤 / 2.2


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ProjectArchitect/archive/2009/02/17/3895894.aspx

  • 相关阅读:
    Codeforces 716C[数论][构造]
    HDU 5808[数位dp]
    Codeforces 611d [DP][字符串]
    Codeforces 404D [DP]
    HDU 5834 [树形dp]
    HDU 5521 [图论][最短路][建图灵感]
    矩阵
    kruskal 处理最短路 问题 A: 还是畅通工程
    Dijastra最短路 + 堆优化 模板
    CodeForces
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/1513004.html
Copyright © 2011-2022 走看看