傳統上,我所有的as3代碼都包含在一個.as文件中,而不是作爲包/類文件,但我試圖做出這種轉換。我對如何在類文件之間來回傳遞信息有點困惑。例如,我試圖做的是一種節點圖,點擊某個節點會發芽它的子節點,點擊一個子節點會發芽它的子節點等等。我有一個主類Main .as,我將分析一個XML文檔併爲每個節點存儲所有相關數據的數組(如標題,鏈接等)。然後我有一個名爲Node.as的類文件,它實際上構建了該節點,將其添加到舞臺上,並設置其偵聽器和補間動畫。flash as3 - 瞭解如何將解析的XML數據傳遞到類
我的問題是 - 如果節點的所有信息都存儲在Main.as中,但點擊處理是在Node.as中完成的,那麼Node.as如何知道要分配給每個添加節點的屬性(即,它如何從Main.as訪問數組以將屬性分配給創建的剪輯)?
下面是一個示例代碼結構:
Main.as:
package
{
public class Main extends MovieClip
{
public function Tree()
{
initTree();
}
public function initTree(){
parseXML();
var firstNode:Node = new Node();
addChild(firstNode);
}
}
}
Node.as:
package
{
public class Node extends MovieClip
{
public function Node()
{
drawNode();
}
private function drawNode(parentNode = null){
//draw the node shape
//add the shape to a movie clip
//assign listeners to the movie clip
//add movie clip to the stage
}
private function nodeAdded {
//position the node
//animate the node
}
private function nodeOver (e:MouseEvent):void {
//fetch the information for this node from the XML in Main.as - how do I do this?
}
}