Re: [問題] 想破頭了...Q_Q
※ 引述《zemaitis (Peace~!)》之銘言:
: 問題1.講義檔案的第五行 root.addChild(myBubble);
: 可以得到亂數產生的泡泡,但是我自己的檔案卻要寫stage.addChild(myBubble);
: 才能得到效果,實在想不通,是層級問題?還是?
: 問題2.講義檔案第18行 var mc:MovieClip=root.getChildByName("bubble"+i);
: 我不太理解為什麼要藉由root.getChildByName("bubble"+i)來定義mc
: getChildByName("bubble"+i)出來部是只是字串嗎?
: 此外,我在自己的檔案寫上述的code時,編譯器錯誤說明
: "1118: 靜態類型 flash.display:DisplayObject 的值以隱含方式強制轉型成可能不相關
: 的類型 flash.display:MovieClip。"
: 真的搞不懂了@@...希望板上的高手幫我解惑一下..謝謝:)
嗯...當你看到這種打死不知道error在哪裡的狀況
要注意一下你AS3的compiler是不是被設定在 "strict mode"
(其實這就是你compile不出來的原因)
範例檔可以順利通過compilation是因為他沒有勾選strict mode compiler
而你的則有,所以你的compiler會特別"嚴格",許多不安全的語法都不允許
要更改的話到property inspector裡面的 Publish settings
按下ActionScript version右邊的Settings按鈕
進去把strict mode的模式取消掉
這樣你的code就可以copmile了
只是還有一些NULL的reference問題,應該就是你有reference漏洞,自己檢查看看吧
另外一個補救辦法
在strict mode的copmiler對type是很要求的
你出錯的原因就是root是DisplayObject
需要cast成DisplayObjectContainer才可以使用addChild()這個method
DisplayObjectContainer(root).addChild()
或者
(root as DisplayObjectContainer).addChild()
getChildByName()回傳的也是DisplayObject,所以也需要cast成MovieClip
var mc:MovieClip = MovieClip(getChildByName())
或者
var mc:MovieClip = getChildByName() as MovieClip
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.74.93
推
03/12 11:55, , 1F
03/12 11:55, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章