当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > 初学AS3的几点技巧汇总

ActionScript
Flash as常用后缀及意义
AS3教程:Point类计算两点间距离
flash as3利用ContextMenu实现右键响应
Flash AS3教程:Motion类
Flash AS教程:文本类对象知识总结
Flash AS3教程:Random类
Flash AS3教程:Level2D类
Flash AS3教程:ApplySocket类
Flash AS3教程:运算符“?:”
Flash AS3教程:Direction类和Dot类
Flash AS3教程:小游戏开发实战尝试
Flash cs3、Flex与asp、php通信总结(包含数据库)
从基础开始深入学Flash AS3教程(7)(译文)
Flash as3教程:OutDisplay类
从基础开始深入学Flash AS3教程(6)(译文)
Flash简单AS代码实现绚丽曲线视觉特效
用纯Flash Actionscript做的火柴棍小人跑的动画
Flash AS解决中文mp3乱码
Flash加载外部文件创建进度条3种方法
AS的LoaderInfo类控制SWF的大小和播放帧频

ActionScript 中的 初学AS3的几点技巧汇总


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 77 ::
收藏到网摘: n/a

1.null和undefined的差別在於
null是指沒有值
undefined是宣告未完全、沒有宣告這個屬性或沒有指定資料型態(未賦予值沒做過資料轉型也算)
null==undefined但null!==undefined
所以我們常常要檢查外部變數有沒有被賦予值要用
if(外部變數==null){
外部變數沒有被賦予值
}
2.把變數宣告在所有程式(FUNCTION)的最上面
3.執行container.addChild(ball_A);時,若container已存在ball_A這個物件,在執行1次的功能在於,PLAYER會把原有的ball_A刪掉,再重新加入ball_A,所以ball_A顯示的順序就會變成在最上面,若你要指定顯示順序就用container.addChildAt(ball_A, 1);這個指令(0-N),0為最底層N為目前最上面ㄧ層
4.自動管理顯示順序
trace(container.getChildAt(0).name); // ball_A
trace(container.getChildAt(1).name); // ball_C
trace(container.getChildAt(2).name); // ball_B
container.removeChild(ball_C);
trace(container.getChildAt(0).name); // ball_A
trace(container.getChildAt(1).name); // ball_B
5.delete 才會完整的把物件殺掉removeChild只是移除顯示清單而已,ㄧ個物件只能對應一個container
6.其他好用的函式
contains(): Determines whether a display object is a child of a DisplayObjectContainer.
getChildByName(): Retrieves a display object by name.
getChildIndex(): Returns the index position of a display object.
setChildIndex(): Changes the position of a child display object.
swapChildren(): Swaps the front-to-back order of two display objects.
swapChildrenAt(): Swaps the front-to-back order of two display objects, specified by their index values.
7.取代AS 2.0 用[]動態命名的方法
import flash.display.Sprite;
var container1:Sprite = new Sprite();
container1.name="allen";
container1.x=20;
var container2:Sprite = new Sprite();
container2.addChild(container1);
addChild(container2);
trace(container2.getChildByName("allen").x);
沒錯就是這一行container1.name="allen";直接指定name