[問題] 無法把圖片用addchild放上舞台(補錯誤뀠…

看板Flash作者 (搬新家~無名881~^^)時間13年前 (2011/06/14 22:30), 編輯推噓3(3019)
留言22則, 4人參與, 最新討論串1/1
(補上錯誤訊息) 不好意思,有三個問題可能很淺,但搜索了一下板上的文章,好像沒有看到類似的問題 希望有先進能幫幫忙解惑。 我正在做一個slot小遊戲的demo,交待我做這個工作的前輩應該是好心想指導我, 所以要我把寫好的fla分成as檔。 可是分的過程中今天出現了一個問題一直解決不了,我想用XMLLoader把圖片名稱、 位置和大小等資訊load進來,然後再把對應的圖片讀進來放在舞台上, 但原本一整份fla時可以成功運作的程式,在移到as上之後就行不通了 一直出現錯誤訊息。 D:\work\pachingodemo110614\game\PicXmlLoader.as、行 60 1180: 未定義である可能性が高いメソッド addChild の呼び出しです。 D:\work\pachingodemo110614\game\PicXmlLoader.as、行 69 1180: 未定義である可能性が高いメソッド addChild の呼び出しです。 D:\work\pachingodemo110614\game\PicXmlLoader.as、行 78 1180: 未定義である可能性が高いメソッド addChild の呼び出しです。 不好意思補上錯誤訊息 因為是日文作業系統 到官網上找到的中文翻譯三項應該都是 1180 呼叫可能未定義的方法_。 日文直譯則是1180:呼叫了有高可能性未定義的addChild方法。 (應該是一樣的意思^^") 程式碼如下 ___________________________________________________________________________ package game{ import flash.events.ProgressEvent; import flash.events.Event; import flash.net.URLRequest; import flash.display.Loader; import flash.net.URLLoader; public class PicXmlLoader extends GameVar{ //save pictures' name load by picNameLoader public var xmlSaveArray:Array=new Array(); //load pictures' name xml file public function PicXmlLoader(){ var xmlLoader:URLLoader=new URLLoader(); xmlLoader.addEventListener(Event.COMPLETE,doXmlLoderComplete); function doXmlLoderComplete(e:Event):void{ XML.ignoreWhitespace=true; var xmlDataSaver:XML=new XML(xmlLoader.data); xmlSaveArray.push(xmlDataSaver.picName,xmlDataSaver.position1stLiru,xmlDataSaver.position2ndLiru,xmlDataSaver.position3rdLiru,xmlDataSaver.hatsureSize,xmlDataSaver.hatsurePosition,xmlDataSaver.hatsureFlvName,xmlDataSaver.riich1Size,xmlDataSaver.riich1Position,xmlDataSaver.riich1FlvName,xmlDataSaver.riich2Size,xmlDataSaver.riich2Position,xmlDataSaver.riich2FlvName,xmlDataSaver.yokokuData); doPicLoader(); } var xmlURL:URLRequest=new URLRequest("picname02.xml") xmlLoader.load(xmlURL); } public function doPicLoader(){ var picNameSaveArray:Array=xmlSaveArray[0].split(","); var leftPositionArray:Array=xmlSaveArray[1].split(","); var middlePositionArray:Array=xmlSaveArray[2].split(","); var rightPositionArray:Array=xmlSaveArray[3].split(","); backMovie1Size=xmlSaveArray[4].split(","); backMovie1Position=xmlSaveArray[5].split(","); // backMovieName=txtSaveArray[6].split(","); backMovie1Name[0]=xmlSaveArray[6]; backMovie2Size=xmlSaveArray[7].split(","); backMovie2Position=xmlSaveArray[8].split(","); backMovie2Name[0]=xmlSaveArray[9]; backMovie3Size=xmlSaveArray[10].split(","); backMovie3Position=xmlSaveArray[11].split(","); backMovie3Name[0]=xmlSaveArray[12]; yokoku1Data=xmlSaveArray[13].split(","); /* //trace for test trace(backMovie3Size[1]); trace(backMovie3Position[0]); trace(backMovie3Name[0]); */ //add number pictures' on stage for(i=0;i<7;i++){ var picLoader1Url:URLRequest=new URLRequest(picNameSaveArray[i]); picLoader1.load(picLoader1Url); firstLiru[i]=picLoader1;picNameSaveArray[i] //pictures' position firstLiru[i].x=leftPositionArray[0]; firstLiru[i].y=leftPositionArray[1]; addChild(firstLiru[i]); picLoader1= new Loader(); var picLoader2Url:URLRequest=new URLRequest(picNameSaveArray[i+7]); picLoader2.load(picLoader2Url); secondLiru[i]=picLoader2; //pictures' position secondLiru[i].x=middlePositionArray[0]; secondLiru[i].y=middlePositionArray[1]; addChild(secondLiru[i]); picLoader2= new Loader(); var picLoader3Url:URLRequest=new URLRequest(picNameSaveArray[i+14]); picLoader3.load(picLoader3Url); thirdLiru[i]=picLoader3; //pictures' position thirdLiru[i].x=rightPositionArray[0]; thirdLiru[i].y=rightPositionArray[1]; addChild(thirdLiru[i]); picLoader3= new Loader(); } } } } ____________________________________________________________________________ 另一個問題是localconnection 當我把它移到as檔上時,會有錯誤訊息指出我的「conn.client=this;」是不行的 試著宣告別的東西代表它 但還是過不了,我想可能是我的觀念有誤,this指的是什麼呢? 如果as上面不能使用的話,想請教一下該用什麼方法修改。 ____________________________________________________________________________ 雖然寫好再改很麻煩 但一邊改一邊發現自己對物件導向的了解幾乎是0 其實切開來放在as上讓它跑克服一些問題後應該是辦得到 可是一直覺得越切越心虛 這是之前寫完可以好好跑的fla檔 http://www.megaupload.com/?d=BB66XD4P 因為很菜我想看起來一定很煩人orz 如果有前輩願幫忙看一下,指導我到底該怎麼切開才是觀念正確的分法 我會非常感謝的^^" 抱歉一口氣問了這麼多問題,不管是否能提供幫助,都感謝你撥冗看完^^謝謝! -- ▁ ▁▁ ▁▁ ▁▁▃▄▅▆▇███▇▄▃▁▁▁▁ ▁▁ ▁▁▂▄▆▇████████▇▆▅▃▃▂▂▁▁▁▁ ﹏﹏﹏﹏﹏ ●↗ KYO:讓我們向夕陽奔跑吧! ﹏﹏ BLUE:先輩我願追隨你! ● < 青春!熱血!感動! ︿ ∕ ﹥ 竹本真相組之 讓我們向真相奔跑吧!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.50.49.65

06/15 06:34, , 1F
錯誤訊息是什麼 @@?
06/15 06:34, 1F

06/15 06:35, , 2F
從錯誤訊息著手 去解決比較快
06/15 06:35, 2F

06/15 06:49, , 3F
附上錯誤訊息比附程式碼重要吧
06/15 06:49, 3F
※ 編輯: bluenicole 來自: 114.179.83.242 (06/15 10:09)

06/15 10:10, , 4F
不好意思昨晚居然忘記把訊息寫上,剛剛補上了,感謝^^
06/15 10:10, 4F
※ 編輯: bluenicole 來自: 114.179.83.242 (06/15 11:02)

06/15 15:38, , 5F
竟然跟我一樣用日Win+日Flash(攤手
06/15 15:38, 5F

06/15 15:40, , 6F
基本上他是說你呼叫了不存在的方法(addChild)
06/15 15:40, 6F

06/15 15:40, , 7F
(握手)而且我前輩是日本人,平常聊天還好,日文不輪轉
06/15 15:40, 7F

06/15 15:40, , 8F
所以問問題時很痛苦~
06/15 15:40, 8F

06/15 15:40, , 9F
通常是因為目標物件不是MovieClip導致
06/15 15:40, 9F

06/15 15:42, , 10F
另外,this要看是什麼的this,就跟"我"一樣
06/15 15:42, 10F

06/15 15:42, , 11F
不同人說"我"這個字,指的就是不同物體
06/15 15:42, 11F

06/15 15:44, , 12F
因此你要看你的this寫在哪裡,還得確定this格式正確
06/15 15:44, 12F

06/15 15:44, , 13F
有時候需要的東西是this的某個東西而非this本身
06/15 15:44, 13F

06/15 16:02, , 14F
其實這個class是我從文末附的那段fla裡切出來的,雖然
06/15 16:02, 14F

06/15 16:03, , 15F
統統放在一個fla裡可以順利執行,但分去as檔裡後就不聽
06/15 16:03, 15F

06/15 16:06, , 16F
使喚了Orz 所以我現在應該試著做數個movieclip容器,然
06/15 16:06, 16F

06/15 16:07, , 17F
後將讀進來的圖一張張丟進去,再用addChild放上舞台,
06/15 16:07, 17F

06/15 16:07, , 18F
不知道是否行得通^^?
06/15 16:07, 18F

06/15 20:32, , 19F
以我的經驗 重新作 比作好 再分開放在as檔裡面容易XD
06/15 20:32, 19F

06/15 21:45, , 20F
先來說一下XDaddChild的問題後來在用extendsMovieClip
06/15 21:45, 20F

06/15 21:46, , 21F
的方法解決了,感謝KawasumiMai網友的點醒^^,現在正在
06/15 21:46, 21F

06/15 21:48, , 22F
重寫XD(也謝謝allenmusic網友^^)感謝大家的解答^^
06/15 21:48, 22F
文章代碼(AID): #1Dzt1iRT (Flash)