[問題] 我是從AS2轉型成AS3的, 想問個 addchil …

看板Flash作者 (小斐)時間14年前 (2010/02/19 18:06), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
最近寫了一個迷宮產生器 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
文章代碼(AID): #1BVcA-io (Flash)