전통적으로 모든 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?
}
}