as3.0百条常用知识
### as3.0百条常用知识####改变输出SWF的尺度、背景颜色或帧频在Adobe Flash Professional中调整输出SWF文件的尺度、背景颜色或帧频可以通过编辑项目的属性来实现。具体步骤如下: 1.打开**Navigator**窗口,右键点击你的项目。 2.选择**Properties**。 3.在弹出的对话框中选择**ActionScript Compiler**。 4.在**Additional Compiler Arguments**栏中输入你需要的命令,例如: -若要改变背景颜色,可以输入:`-default-background-color 0xfff`(这里`0xfff`表示白色)。 -若要改变帧频,可以使用:`-default-frame-rate 30`(这里的`30`表示每秒30帧)。 ####鼠标坐标在ActionScript 3.0中获取鼠标当前位置的坐标可以通过`mouseX`和`mouseY`两个属性实现。这些属性返回的是相对于舞台左上角的像素位置,其中: - `mouseX`:表示鼠标当前位置的x坐标。 - `mouseY`:表示鼠标当前位置的y坐标。 ####检查变量类型在ActionScript 3.0中,可以使用不同的方法来检查变量的类型: - **is**:用于检查变量是否为某种特定类型,并返回布尔值。 -示例代码:`trace(quantity is Number); // true` - **typeof**:返回变量的类型字符串。 -示例代码:`trace(typeof quantity); // "number"` - **as**:尝试将变量转换为指定的类型。如果转换失败,则返回`null`。 -示例代码:`var obj: Object = quantity as Number;` ####处理非数字问题当变量包含数字和非数字字符时,可能会导致类型错误或计算错误。可以使用`isNaN()`函数来检查变量是否为有效的数字。 -示例代码: ```actionscript var quantity: Number = 15 - "rabbits"; trace(typeof quantity); //输出:"number" trace(quantity is Number); //输出:true trace(quantity != NaN); //输出:false trace(isNaN(quantity)); //输出:true ``` ####取消默认的严格编译模式有时,默认的严格编译模式会导致不必要的警告或错误,可以按照以下步骤关闭它: 1.在**Navigator**窗口中右键点击你的项目。 2.选择**Properties**。 3.在弹出的对话框中选择**ActionScript Compiler**。 4.取消勾选**Enable compile-time type checking**选项。 ####基元数据类型与复杂数据类型的区别在ActionScript 3.0中,数据类型可以分为基元数据类型和复杂数据类型: - **基元数据类型**(如整数、浮点数等)是按值传递的。这意味着当你将一个变量赋值给另一个变量时,实际上是创建了一个新的副本。 -示例代码: ```actionscript var intOne: int = 1; var intTwo: int = intOne; trace(intOne == intTwo); //输出:true ``` - **复杂数据类型**(如数组、对象等)是按引用传递的。这意味着当你将一个对象赋值给另一个变量时,实际上是指向同一个内存地址。 -示例代码: ```actionscript var arrayOne: Array = new Array("a", "b"); var arrayTwo: Array = arrayOne; trace(arrayOne == arrayTwo); //输出:true ``` ####优化逻辑AND(&&)和OR(||)在编写条件语句时,合理地使用逻辑运算符AND(`&&`)和OR(`||`)可以提高代码执行效率: - **逻辑AND(&&)**:如果第一个操作数为假,则不会评估第二个操作数。因此,应该将更有可能为假的操作数放在前面。 - **逻辑OR(||)**:如果第一个操作数为真,则不会评估第二个操作数。因此,应该将更有可能为真的操作数放在前面。 #### Timer类注意事项使用ActionScript 3.0中的`Timer`类需要注意以下几点: - **定时器并不完全准确**:由于系统调度和资源分配的原因,定时器触发的时间可能与设定的时间略有偏差。 - **避免过短的时间间隔**:如果设置的时间间隔太短(比如低于10毫秒),可能会导致CPU负载过高,从而影响应用程序的性能。 ####访问权限修饰符在ActionScript 3.0中,可以通过不同的访问权限修饰符控制类成员的可见性: - **private**:只能在定义它的类内部访问。 -示例:`private var _privateVar: String;` - **protected**:可以由类本身或其子类访问。但这种访问是以实例为基础的。 -示例:`protected var _protectedVar: String;` - **internal**:可以被同一包内的其他类访问。 -示例:`internal var _internalVar: String;` - **public**:可以被任何地方访问。 -示例:`public var _publicVar: String;` ####处理未知数量的参数在函数中处理未知数量的参数可以使用`arguments`对象或`...`(剩余参数)语法。这两种方式都有各自的优缺点: - **使用`arguments`对象**:可以方便地访问所有传递给函数的参数。 -示例代码: ```actionscript private function average(): void { trace(arguments.length); //输出参数的个数var sum: Number = 0; for (var i: int = 0; i < arguments.length; i++) { sum += arguments[i]; } trace(sum / arguments.length); } ``` - **使用`...`(剩余参数)语法**:可以明确地定义接收额外参数的变量名。 -示例代码: ```actionscript private function average(...values: Number[]): void { var sum: Number = 0; for (var value in values) { sum += values[value]; } trace(sum / values.length); } ```以上介绍了ActionScript 3.0中的一些常用知识点,包括如何修改SWF文件的属性、如何处理变量类型、如何优化逻辑运算符、如何使用定时器以及如何管理不同访问权限下的成员等。通过理解和应用这些知识点,可以帮助开发者更好地编写高效且可靠的Flash应用程序。
100.5KB
文件大小:
评论区