Air 데스크톱 응용 프로그램에서 작업 중입니다. 사용자가 버튼을 누를 때마다 특정 프레임으로 점프하고 문제는 해당 프레임으로 이동 한 후 해당 프레임의 무비 클립에있는 일부 무비 클립은 처음부터 읽었지만 읽지 않습니다.프레임으로 점프 할 때 스테이지의 객체가 읽히지 않습니다.
다음 오류가 발생합니다.
오류 # 1009 : null 개체의 속성 또는 메서드에 액세스 할 수 없습니다. 참조.
나는 그가 무대에있는 것을 읽을 수없는 이유를 모르지만, 이것은 레이어의 배열과 관련이 있다고 생각합니다. 나는 그것이 논리적이지 않다는 것을 때때로 알아 차렸지만, 멈춰있는 한 동일한 프레임에있는 모든 것을 읽어야한다고 생각했다. 매우 인트로를 시작하는 것은 재생 AT)
한 후이 과정의 첫 번째 프레임으로 이동 다음과 같이
프로젝트이다.
2) 첫 프레임에서 사용자는 서로 다른 프레임으로 이동하는 5 개의 버튼 중 하나를 선택합니다.
3) 사용자가 어떤 프레임에있을 때 뒤로 버튼을 클릭하면 메인 프레임으로 돌아 가야합니다.이 버튼 명령은 이고 일부 프레임은 기능에 따라 코드에 의해 생성 된 객체에서 스테이지를 지우는 일부 조건부입니다 에서 불렀다.
4)이 뒤로 버튼을 클릭하면 첫 번째 5 개의 버튼 중 하나 이상이 갑자기 사라지고 오류가 인 으로 생성되어 더 이상 프로그램에서 읽을 수 없습니다. 이벤트를 읽을 수 없으며 위의 오류가 발생합니다. 다음 내 코드는 :
var myLettersLoader:URLLoader= new URLLoader();
mainMenu.addEventListener(MouseEvent.CLICK,gotomainMenu);
letters.addEventListener(MouseEvent.CLICK,showLetters);
lessons.addEventListener(MouseEvent.CLICK,showLessons);
revision.addEventListener(MouseEvent.CLICK,showRevision);
myLettersLoader.load(new URLRequest("data/letters/letters.xml"));
myLettersLoader.addEventListener(Event.COMPLETE,loadXML);
function showLetters(e:MouseEvent)
{
//gotoAndStop(2)
//aaaaa.alpha=1;
//aaaaa.visible=true;
Tweener.addTween(e.currentTarget, {width:originalWidth,height:originalHeight, time:0.25, transition:"linear"});
myPlace.visible = true;
myPlace2.visible = false;
myPlace3.visible = false;
jewels.visible = false;
mainContainer.visible=false;
close.visible=false;
studentBook.visible = false;
mainButton = e.currentTarget.name;
Tweener.addTween(myPlace, {alpha:1, transition:"linear"});
lettersContainer.visible=true;
Tweener.addTween(letterContainerText, {alpha:1, transition:"linear"});
for (var i=1; i<29; i++)
{
var letter = "L" + i;
myPlace[letter].id = i;
myPlace[letter].alpha = 1;
myPlace[letter].addEventListener(MouseEvent.CLICK,gotoLetterFrame);
myPlace[letter].buttonMode = true;
}
}
function showLessons(e:MouseEvent)
{
Tweener.addTween(e.currentTarget, {width:originalWidth,height:originalHeight, time:0.25, transition:"linear"});
myPlace.visible= false;
myPlace2.visible = true;
myPlace3.visible = false;
jewels.visible = false;
mainContainer.visible=false;
close.visible=false;
studentBook.visible = false;
lettersContainer.visible=true;
mainButton = e.currentTarget.name;
Tweener.addTween(myPlace2, {alpha:1, transition:"linear"});
studentBook.alpha = 0;
for (var i=0; i<5; i++)
{
var lesson = "Lesson" + i;
myPlace2[lesson].id = i;
myPlace2[lesson].alpha = 1;
myPlace2[lesson].addEventListener(MouseEvent.CLICK,gotolessonFrame);
myPlace2[lesson].buttonMode = true;
}
}
//=======================Revision functions==================================
function showRevision(e:MouseEvent)
{
Tweener.addTween(e.currentTarget, {width:originalWidth,height:originalHeight, time:0.25, transition:"linear"});
myPlace.visible= false;
myPlace2.visible = false;
myPlace3.visible = true;
jewels.visible = false;
mainContainer.visible=false;
close.visible=false;
studentBook.visible = false;
lettersContainer.visible=true;
mainButton = e.currentTarget.name;
Tweener.addTween(myPlace3, {alpha:1, transition:"linear"});
studentBook.alpha = 0;
for (var i=0; i<7; i++)
{
var revision = "Revision" + i;
myPlace3[revision].id = i;
myPlace3[revision].alpha = 1;
myPlace3[revision].addEventListener(MouseEvent.CLICK,gotoRevisionFrame);
myPlace3[revision].buttonMode = true;
}
}
//========================================================
function gotoLetterFrame(e:MouseEvent)
{
reloadButton.visible=true;
mainMenu.visible=true;
myClose.visible=true;
reloadButton.visible=true;
myNext.visible=true;
currentTarget=(e.currentTarget.id-1);
currentName = arrOfLetters[currentTarget];
xmlListOfClass=new XMLList(myxml.letter.(@id==currentName).children());
gotoAndStop(xmlListOfClass[counter].localName());
abc.visible=abcd.visible=true;
mainMenu.buttonMode=true;
}
function gotolessonFrame(e:MouseEvent)
{
reloadButton.visible=true;
mainMenu.visible=true;
myClose.visible=true;
reloadButton.visible=true;
myNext.visible=true;
currentTarget=(e.currentTarget.id);
xmlListOfClass = new XMLList(lessonsArr[currentTarget].lesson.children());
gotoAndStop(xmlListOfClass[counter].localName());
abc.visible=abcd.visible=true;
mainMenu.buttonMode=true;
}
function gotoRevisionFrame(e:MouseEvent)
{
reloadButton.visible=true;
mainMenu.visible=true;
myClose.visible=true;
reloadButton.visible=true;
myNext.visible=true;
currentTarget=(e.currentTarget.id);
myRevisionLoader.load(new URLRequest("data/revisions/"+currentTarget+"/revision.xml"));
myRevisionLoader.addEventListener(Event.COMPLETE,loadRevisionXML);
}
//=====================================
function loadLessonXML(e:Event)
{
lessonsArr[xx] = new XML(e.target.data);
xx++;
}
//==============================For revision==================================
function loadRevisionXML(e:Event)
{
revisionArr = new XML(e.target.data);
xmlListOfClass = new XMLList(revisionArr.revision.children());
gotoAndStop(xmlListOfClass[counter].localName());
abc.visible=abcd.visible=true;
mainMenu.buttonMode=true;
}
function loadXML(e:Event)
{
myxml = new XML(e.target.data);
}
//====================================
function gotomainMenu(e:MouseEvent)
{
gotoAndPlay(1);
}
이 코드는 첫 번째 프레임에, 두 번째 프레임에서 버튼 mainButton
버튼 프레임 1 버튼 lessons
, letters
돌아가는을 책임지고 revision
은 프레임 1로 돌아갈 때 사라지며 때로는 논리적 인 이유가없는 그 중 하나가 표시됩니다.
더 자세히 설명해주십시오. 예상대로 작동하지 않는 각 프레임에서 읽고 싶은 코드는 무엇입니까? 의견으로 대답하지 마십시오. 이 정보로 질문을 편집하십시오. –
@NealDavis 더 명확하게 질문을 수정했습니다. –
@post your code – null