[問題] 我是從AS2轉型成AS3的, 想問個 addchil …
最近寫了一個迷宮產生器 AS 2.0 版的,
但是在計算大尺寸迷宮(400*400以上)時效率不彰(超過3秒),
AS 2.0 版 swf 檔:http://www.swfcabin.com/open/1266569735
後來就把源碼改用 AS 3.0 寫,效能是嚇嚇叫拉 ...
不過, attachMovie() 不能用了,語法的限制也更嚴苛,
變數的生存區域也搞得不清不楚的 =.= ...
於是 UI, 控制迷宮大小的AS 也都先拿掉了,
只求先搞好 attachMovie 改 addChild 的問題。
AS 3.0 版 原始檔:http://n6333373.myweb.hinet.net/Maze.fla
在 AS 3.0 版本裡面我是用自訂函數
function attachMaze() {
var myhaw:MovieClip = new MazeGen();
MazeOnRoot_mc.addChild(myhaw);
}
來依附產生迷宮的影片片段
(MazeGen 是個影片片段,內有AS會計算並繪出迷宮)
而當產生迷宮的按鈕被按下時,
我想要移除被依附在 MazeOnRoot_mc 裡的 MazeGen
並且重新產生一個重新依附(藉此來重繪出一個新迷宮)
以前這些都是用 attachMovie 輕鬆搞定,
在 AS 3.0 裡,addChild()依附 myhaw 後函數結束,
該如何再取得本來的 myhaw 呢?
但是 myhaw 宣告在函數裡,一出函數外 myhaw 變無意義。
因為變數生存空間的問題 我不知道要將 removeChild()
插在哪裡 ... 又該填入什麼參數。
另外問個問題 ...
我在某個影片片段裡打入下列的 AS (AS 3.0)
希望該影片片段裡的 xSize 與場景上的 xSize 一樣,
var xSize:int = root.xSize;
但是卻錯誤了 ...
1119: 存取可能未定義的屬性 xSize (透過靜態類型 flash.display:DisplayObject 的參考)。
在場景上我確實是有宣告 xSize 這是怎麼回事呢?(AS 2.0 這樣沒問題阿 ...)
所以在此附上原始檔希望有人能夠解答,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.210.204
※ 編輯: n6333373 來自: 118.170.210.204 (02/19 18:24)
→
02/19 22:37, , 1F
02/19 22:37, 1F