2019独角兽企业重金招聘Python工程师标准>>> hot3.png

【改变输出swf的尺度,背景颜色或帧频】

在Navigator窗框里右键你的项目

在"Navigator"窗框里右键你的项目>选中"Properties">选中"ActionScript Compiler">在"Additional compiler arguments"里输入你所需要的命令

如想改变背景颜色,请输入: -default-background-color 0xffffff

【鼠标坐标】

mouseX mouseY

【检查变量类型并返回布尔值】

is

【检查变量类型并返回类型】

typeof

【检查对象类型并返回该对象】

as

【是数字但不是有效数字问题】

var quantity:Number = 15 - "rabbits";

trace(typeof quantity); //显示: "number" , 但它是NaN (not a number)

trace(quantity is Number); //true

trace(quantity != NaN); //false

//使用isNaN()函数检测:

isNaN(quantity); //true

//检测变量是否内含有效数字:

!isNaN(quantity); //false

【取消默认的严格编译模式】

在"Navigator"窗框里右键你的项目>选中"Properties">选中"ActionScript Compiler">取消"Enabel compile-time type checking"选项

【基元数据类型和复杂数据类型好比"值类型"和"引用类型"】

基元数据类型类似按值传递:

var intOne:int = 1;

var intTwo:int = 1;

trace(intOne == intTwo); //true

【复杂数据类型类似按引用传递】

var arrayOne:Array = new Array("a", "b");

var arrayTwo:Array = arrayOne;

trace(arrayOne == arrayTwo); //true

//-----------------------------------

var arrayOne:Array = new Array("a", "b");

var arrayTwo:Array = new Array("a", "b");

trace(arrayOne == arrayTwo); //false

【优化逻辑AND(&&)和OR(||)的小知识】

对于逻辑And(&&):

除非条件表达式的前半部分为真,否则,ActionScript不会再去求算逻辑AND运算符的后半部.如果前半部为假,整个条件表达式一定为假,所以再去求算后半部就没效率了.

对于逻辑OR(||):

除非条件表达式前半部为假,否则,ActionScript不会再去求算逻辑OR运算符的后半部,如果前半部为真,整个条件表达式一定为真.

总结:使用逻辑AND(&&)时,把结果最可能为false的表达式放到前面;使用逻辑OR(||)时,把结果最可能为true的表达式放到前面.

为了理解,我补充一例子,AND的情况: a!=null && a.length>0 ; OR的情况: a==null || a.length==0 //a 的空, 相对于a.length长度是否为0可能性比较大。

【Timer类注意事项】

不要认为Timer可以极其准确;使用Timer时间间隔不要低于10毫秒.

【private,protected,internal,public访问权限】

private:只能在类本身内部访问,按惯例,命名私有成员时以下划线"_"开头;

protected:可以由类本身或任何子类访问.但这是以实例为基础的.换言之,类实例可以访问自己的保护成员或者父类的保护成员,但不能访问相同类的其它实例的保护成员,按惯例,命名保护成员时以下划线"_"开头;

internal:可以由类本身或者相同包内的任何类访问;

public:可以在类内部访问,也可以由类实例访问,或者声明为static时,可以直接从类访问.

【一个函数具有未知个数的参数,用arguments对象或"...(rest)"符号访问它的参数】

注意:使用"...(rest)"参数会使 arguments 对象不可用;

private funciton average():void{

trace(arguments.length); //输出参数的个数

// arguments的类型是:object,但可以像访问数组一样去访问它

trace(arguments[1]); //输出第二个参数

}

private function average(...argu):void{

trace(argu[1]); //输出第二个参数,argu参数名是自定义的.

}

【错误处理try,catch,finally】

private function tryError():void{

try {

trace("测试开始-try");

throwError();

}catch(errObject:Error) {

trace("错误信息:" + errObject.message);

trace("测试结束-catch");

return;

}finally{

trace("虽然catch里已经有return方法,但位于return方法后面的finally里的代码依然会被执行.其实无论return方法是在try里,还是catch里,finally里的代码始终会被执行");

}

trace("前面已经有return了,此处是不会再执行的.除非没有抛出错误,以使catch里的代码没有被执行");

}

private function throwError():void{

throw new Error("抛出错误");

}

【for...in与for each...in的区别】

与for...in循环不同的是,for each...in循环中的迭代变量包含属性所保存的值,而不包含属性的名称(或主键,索引).

为了理解,我补充一例子:

for...in: for (var name:String in user) trace(name+": "+user[name]+"; ") //username: ryan; password: 123; 这个循环中的name是user中的每一个属性名。

for each...in: for each(var user:User in users) trace(user+": "+user.username+"; ") //user: ryan; user: bill; user: tom;

【命名包路径的小技巧】

使用相应于拥有者和相关项目的包名称会比较好.按惯例来讲,包名称的开头应该是逆向的网址名称.例如,如果Example Corp(examplecorp.com)写了一些ActionScript3.0类,就会把所有类放在com.examplecorp包内(或者 com.examplecorp的子包内).如此一来,如果英国有另一家Example Corp(examplecorp.co.uk)也写了一些ActionScript3.0类,只要使用包uk.co.examplecorp,就可确保唯一性.

当类属于特定应用程序的一部分时,就应该放在该应用程序特定的子包内.例如,Example Corp可能有个应用程序名叫WidgetStore.如果WidgetStore应用程序使用一个名为ApplicationManager的类,则此类就应该放在com.examplecorp.widgetstore包内,或者位于该包的子包内. 按惯例来说,包名称的开头是小写字母.

【隐式的取出方法(getter)和设定方法(setter)】

public function get count():uint {

return _count;

}

public function set count(value:uint):uint {

if(value < 100){

_count = value;

}else {

throw Error();

}

}

【确保类是绝不会有子类,使用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.google.com" />

<allow-access-from domain="*.google.com" />

<allow-access-from domain="210.32.186.12" />

<allow-access-from domain="*" />

</cross-domain-policy>

【数字的不同进制之间的转换】

parseInt(str:String, radix:uint = 0):Number 返回十进制的数,参数radix表示要分析的数字的基数.如果省略radix,就默认为10,除非字符串的开头是"0x","0X"或"0":

trace(parseInt("0x12")); //设定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 + b2ler

假设有两个影片剪辑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

【向数组尾端添加元素】

var array:Array = new Array();

array.push("a", "b");

//向数组尾端添加单一元素也可以这样:

array[array.length] = "c";

//如果以索引设定的元素不存在,数组本身会自动扩展以包含足够的元素数目.介于中间的元素会被设为undefined:

array[5] = "e";

trace(array[4]); //输出: undefined

转载:http://tieba.baidu.com/f?kz=569403190

转载于:https://my.oschina.net/bigyuan/blog/49591

AS3和Flex常用知识100条相关推荐

  1. Liunx常用的100条命令汇存

    1.关机 shutdown -h now 立刻关机 poweroff shutdown -r now 立刻重启 reboot logout 注销2.进入图形界面 startx3.vi编辑器 [vi] ...

  2. Excel教程实用技巧100条连载一

    作者Crystal将在<Excel教程实用技巧>系列中为大家分享财务.人事等工作中Excel数据处理的常用技巧100条.本篇是Excel实用技巧教程系列之一,分享了5条技巧,包括:同时打开 ...

  3. {电脑救助站}常用知识1 来自常用知识( 网络安全中起重大作用的 Windows 命令)

    常用知识( 网络安全中起重大作用的 Windows 命令) 常用在线查毒链接 3 楼       超级兔子的在线检测功能 4楼       准确探索间谍软件或广告软件 5楼         预防间谍软 ...

  4. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结...

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  5. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  6. 四川建院计算机应用考试试题,自考计算机基础知识100题及答案

    高等教育自学考试的考试时间慢慢临近,备考复习也越来越紧张,四川自考网蓝优悠教育中心的南充自考助手为大家精心准备了"自考计算机基础知识100题及答案"内容,希望帮助同学们做好自考备考 ...

  7. Python工程师简历100条技能例句,写简历再也不用愁!!

    相信大家在写简历的时候,都有过这种一种困惑,就是不知道该怎么写自己的技能清单,今天我们就给大家提供100条Python工程师简历技能例句,让大家写简历的时候再也不用发愁了. 1.熟悉Flask/Tor ...

  8. MYSQL数据库常用知识整理

    为什么80%的码农都做不了架构师?>>>    MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQ ...

  9. python中pandas格式_Python学习笔记之数据分析中Pandas常用知识

    前言 Pandas基于两种数据类型:series与dataframe. 一个series是一个一维的数据类型,其中每一个元素都有一个标签.series类似于Numpy中元素带标签的数组.其中,标签可以 ...

  10. mysql命令行批量添加数据_mysql命令行批量插入100条数据命令

    先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为" ...

最新文章

  1. 区块链今年,胜过过去十年
  2. wifi linux 驱动分析,Linux 下wifi 驱动开发(二)—— WiFi模块浅析
  3. javaSocket与C通信
  4. 【Paper】2006_Time-Optimal Control of a Hovering Quad-Rotor Helicopter
  5. 微服务API模拟框架frock介绍
  6. 鸿蒙os开发小程序,9岁小学生展示鸿蒙OS开发:这操作太秀了
  7. jetty java 文件下载_Jetty 嵌入式开发之文件浏览和文件下载
  8. delphi中webbrowse控件中模拟点击文本超链接_游戏中lt;控件gt;的思考
  9. C++test对多变参数的函数打桩处理技巧
  10. 高德地图ios11 定位失败
  11. P2037 电话号码
  12. java包是什么意思_java中的“包”到底是什么意思?
  13. 2017CS231n笔记_S11分割,定位,检测
  14. 自己动手做Arduino玩具(三)
  15. 人才补贴,正式取消?
  16. 融合软泥怪 (优先队列)
  17. 软件测试经理,高级管理退休后,给我小白指点面试迷津!
  18. 修改Cisco交换机ntp服务器,Cisco交换机时间服务(NTP)的设置步驟
  19. STM32 HAL库之IIC
  20. EntityManager的find()与getReference()的区别

热门文章

  1. SQL Server 建库,表,约束(一)
  2. python模块分析之time和datetime模块
  3. Mysql 5.7 for windows 免安装版(解压版)安装和配置
  4. Android ImageView点击效果
  5. sap快捷搜索菜单栏
  6. (转)Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
  7. 和吴昊一起玩推理 Round 10 (第一季完结篇) —— 终极推理 —— L与夜神月的对话...
  8. [转载]Dorado中DataTable使用技巧汇总
  9. 知识整理2019清北学堂提高储备D1
  10. 【翻译】什么是最重要的机器学习技术?