我的代碼只是循環一個xml文件並創建'pages'(稍後動畫)。AS3不添加Sprite到MovieClip
這一切都工作正常,但現在我想添加一個精靈覆蓋整個頁面的內容如果XML的內容包含一個URL。
在運行時,我可以看到正在處理對URL的檢查,並且正在生成覆蓋圖,但我無法在頁面上「看到」它。
下面的代碼位於一個for循環在XML文件中的每個頁面:
var page:Page = new Page(); //MovieClip in my library
// ... other stuff
var textMC:FadeText = new FadeText(xml); //load the text from the xml fragment for this page
//if the text contains a URL (using RegExp)
if(textMC.hasLink())
{
var button:Sprite = new Sprite();
button.graphics.beginFill(0x000000);
button.graphics.drawRect(0, 0, 1, 1);
button.name= textMC.getLink();
button.x = button.y = button.alpha = 0;
button.width = rectangle.width;
button.height = rectangle.height;
button.buttonMode = true;
button.addEventListener(MouseEvent.CLICK, goToUrl, false, 0, true);
page.addChildAt(button, page.numChildren);
}
//... more code - such as add page to stage.
從(使用Firebug FlashBug)正在創建的按鈕控制檯,但我不能看到它在屏幕上所以我猜測addChild位有問題。
什麼是錯,我該如何解決?
[編輯] 設定了阿爾法1我可以看到覆蓋IS被添加到頁面,但它沒有改變我的光標或響應鼠標點擊。
我現在認爲這是XML錯誤。它是正確解析的XML(否則FlashPlayer會在我的臉上拋出異常),看起來這個代碼在除了第二個頁面以外的每個頁面上都能正常工作。此外,如果第二個頁面被設置爲可見(如果創建頁面或不創建頁面中的XML標記),則其他頁面覆蓋頁面都不起作用。
你的動畫片段添加到舞臺上了嗎? – JNDPNT
我已將按鈕的alpha值更改爲1 - 是的,它絕對被添加到頁面中。 –
是的,它被添加到頁面...但是頁面添加到某處?這就是我想知道的:-)。你說這是一個圖書館動畫片段。該movieclip是否也添加到您的文檔根/階段? – JNDPNT