我正在为一门课程制作网页,并尝试使用 ActionScript 3 进行导航。我对它应该如何工作的理解是,当您单击顶部的链接时,它会使用 removeChild 删除当前显示的所有内容,并且使用 addChild 添加新页面的内容。
从初始页面转到其中一个链接时,它工作正常。但是每当我从一个不是主页的页面转到另一个页面时,我都会得到:
ArgumentError:错误 #2025:提供的 DisplayObject 必须是调用者的子对象。在 flash.display::DisplayObjectContainer/removeChild() 在 nutshellMathReCoded4_fla::MainTimeline/hideOtherPages() 在 nutshellMathReCoded4_fla::MainTimeline/runSubtraction()
这是代码:
stop();
// Flash Imports
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.SoundMixer;
//Page Components //
// Home //
// Links
// Create Header & Nav //
// Logo Link
var headerLogo:logoMainPage = new logoMainPage();
headerLogo.x = 252.85;
headerLogo.y = 18.00;
//Addition Link
var additionLink:addPageLink = new addPageLink();
additionLink.x = 142.35;
additionLink.y = 96.00;
//Subtraction Link
var subtractionLink:subPageLink = new subPageLink();
subtractionLink.x = 208.60;
subtractionLink.y = 144.60;
// Multiplication Link
var multiplicationLink:mulPageLink = new mulPageLink();
multiplicationLink.x = 397.80;
multiplicationLink.y = 100.00;
// Division Link
var divisionLink:divPageLink = new divPageLink();
divisionLink.x = 597.95;
divisionLink.y = 144.60;
//Animation
var animation:mainAnimation = new mainAnimation();
animation.x = 99.90;
animation.y = 244.00;
//Addition //
var addSimpleX:additionSimpleX = new additionSimpleX();
addSimpleX.x = 41;
addSimpleX.y = 395.95;
var addSimpleY:additionSimpleY = new additionSimpleY();
addSimpleY.x = 364;
addSimpleY.y = 395.95;
var addSimpleAnswer:additionSimpleAnswer = new additionSimpleAnswer();
addSimpleAnswer.x = 701;
addSimpleAnswer.y = 395.95;
var additionAddSign:additionSign = new additionSign();
additionAddSign.x = 276.55;
additionAddSign.y = 360.20;
var additionEqualsSign:equalsSign = new equalsSign();
additionEqualsSign.x = 613.95;
additionEqualsSign.y = 360.20;
var addSum:additionSummary = new additionSummary();
addSum.x = 178.25;
addSum.y = 202;
var addTryOut:tryItOut = new tryItOut();
addTryOut.x = 205.70;
addTryOut.y = 475.65;
var addDDLink:digDeeperLink = new digDeeperLink();
addDDLink.x = 274.95;
addDDLink.y = 696;
var addTQLink:quizLink = new quizLink();
addTQLink.x = 465;
addTQLink.y = 696.50;
//Addition Deeper
var addLong:additionExtended = new additionExtended();
addLong.x = 193.00;
addLong.y = 323.00;
var addDDSum:additionDDSummary = new additionDDSummary();
addDDSum.x = 222.40;
addDDSum.y = 201.20;
var addDDB2B:backToBasicsLink = new backToBasicsLink();
addDDB2B.x = 271.95;
addDDB2B.y = 696;
var addDDTQ:quizLink = new quizLink();
addDDTQ.x = 468;
addDDTQ.y = 696;
//Subtraction
var subSimpleX:subtractionSimpleX = new subtractionSimpleX();
subSimpleX.x = 44;
subSimpleX.y = 408.50;
var subSimpleY:subtractionSimpleY = new subtractionSimpleY();
subSimpleY.x = 367;
subSimpleY.y = 408.50;
var subSimpleAnswer:subtractionSimpleAnswer = new subtractionSimpleAnswer();
subSimpleAnswer.x = 692.95;
subSimpleAnswer.y = 408.50;
var subtractionEqualsSign:equalsSign = new equalsSign();
subtractionEqualsSign.x = 612.80;
subtractionEqualsSign.y = 372.95
var subtractionSubSign:subtractionSign = new subtractionSign();
subtractionSubSign.x = 280.85;
subtractionSubSign.y = 371.95;
var subTryOut:tryItOut = new tryItOut();
subTryOut.x = 221.8;
subTryOut.y = 477.95;
var subDDLink:digDeeperLink = new digDeeperLink();
subDDLink.x = 274.95;
subDDLink.y = 696;
var subTQLink:quizLink = new quizLink();
subTQLink.x = 465;
subTQLink.y = 696.50;
var subSum:subtractionSummary = new subtractionSummary();
subSum.x = 147.30;
subSum.y = 210.05;
// Subtraction Dig Deeper
var subBudget:budget = new budget();
subBudget.x = 367.95;
subBudget.y = 400.90;
var subExpenses:expenses = new expenses();
subExpenses.x = 204.00;
subExpenses.y = 513.40;
var subDDT1:subtractionDD1 = new subtractionDD1();
subDDT1.x = 264.05;
subDDT1.y = 211;
var subDDT2:subtractionDD2 = new subtractionDD2();
subDDT2.x = 206.65;
subDDT2.y = 351;
var subDDT3:subtractionDD3 = new subtractionDD3();
subDDT3.x = 131.80;
subDDT3.y = 474.95;
var subDDT4:subtractionDD4 = new subtractionDD4();
subDDT4.x = 291.00;
subDDT4.y = 463;
var subCheckBudgetLink:checkBudgetLink = new checkBudgetLink();
subCheckBudgetLink.x = 437;
subCheckBudgetLink.y = 609.5;
var subB2BLink:backToBasicsLink = new backToBasicsLink();
subB2BLink.x = 271.95;
subB2BLink.y = 696;
var subDDTQLink:quizLink = new quizLink();
subDDTQLink.x = 468;
subDDTQLink.y = 696;
//Multiplication
var mulSimpleX:multiplicationSimpleX = new multiplicationSimpleX();
mulSimpleX.x = 30.85;
mulSimpleX.y = 395.35;
var mulSimpleY:multiplicationSimpleY = new multiplicationSimpleY();
mulSimpleY.x = 370.85;
mulSimpleY.y = 395.35;
var mulSimpleAnswer:multiplicationSimpleAnswer = new multiplicationSimpleAnswer();
mulSimpleAnswer.x = 691.90;
mulSimpleAnswer.y = 395.35;
var multiplicationMulSign:multiplicationSign = new multiplicationSign();
multiplicationMulSign.x = 284.60;
multiplicationMulSign.y = 365.95;
var mulEqualsSign:equalsSign = new equalsSign();
mulEqualsSign.x = 609.80;
mulEqualsSign.y = 356.95;
var mulSummary:multiplicationSummary = new multiplicationSummary();
mulSummary.x = 145.30;
mulSummary.y = 202.40;
var mulTryOut:tryItOut = new tryItOut();
mulTryOut.x = 218.80;
mulTryOut.y = 461.95;
var mulDDLink:digDeeperLink = new digDeeperLink();
mulDDLink.x = 274.95;
mulDDLink.y = 696;
var mulTQLink:quizLink = new quizLink();
mulTQLink.x = 465.00;
mulTQLink.y = 696;
// Multiplication Deeper
var mulDD1:multiplicationDD1 = new multiplicationDD1();
mulDD1.x = 241.15;
mulDD1.y = 209;
var mulDD2:multiplicationDD2 = new multiplicationDD2();
mulDD2.x = 297.05;
mulDD2.y = 350.40;
var mulDD3:multiplicationDD3 = new multiplicationDD3();
mulDD3.x = 316.75;
mulDD3.y = 393.65;
var mulDD4:multiplicationDD4 = new multiplicationDD4();
mulDD4.x = 297.55;
mulDD4.y = 436.90;
var mulB2BLink:backToBasicsLink = new backToBasicsLink();
mulB2BLink.x = 271.95;
mulB2BLink.y = 696;
var mulDDTQL:quizLink = new quizLink();
mulDDTQL.x = 468;
mulDDTQL.y = 696;
// Division
var divSimpleX:divisionSimpleX = new divisionSimpleX();
divSimpleX.x = 42;
divSimpleX.y = 397.5;
var divSimpleY:divisionSimpleY = new divisionSimpleY();
divSimpleY.x = 366.95;
divSimpleY.y = 397.50;
var divSimpleAnswer:divisionSimpleAnswer = new divisionSimpleAnswer();
divSimpleAnswer.x = 698.95;
divSimpleAnswer.y = 397.50;
var divisionDivSign:divisionSign = new divisionSign();
divisionDivSign.x = 277.80;
divisionDivSign.y = 360.95;
var divEqualsSign:equalsSign = new equalsSign();
divEqualsSign.x = 609.80;
divEqualsSign.y = 361.95;
var divSummary:divisionSummary = new divisionSummary();
divSummary.x = 112.50;
divSummary.y = 202.20;
var divTryOut:tryItOut = new tryItOut();
divTryOut.x = 218.80;
divTryOut.y = 466.95;
var divDDLink:digDeeperLink = new digDeeperLink();
divDDLink.x = 274.95;
divDDLink.y = 696;
var divTQLink:quizLink = new quizLink();
divTQLink.x = 274.95;
divTQLink.y = 696;
// Division Deeper
var divDD1:divisionDD1 = new divisionDD1();
divDD1.x = 239.60;
divDD1.y = 215.00;
var divDD2:divisionDD2 = new divisionDD2();
divDD2.x = 328.65;
divDD2.y = 336.70;
var divDD3:divisionDD3 = new divisionDD3();
divDD3.x = 308.95;
divDD3.y = 381.20;
var divB2BLink:backToBasicsLink = new backToBasicsLink();
divB2BLink.x = 271.95;
divB2BLink.y = 696;
var divDDTQLink:quizLink = new quizLink();
divDDTQLink.x = 468;
divDDTQLink.y = 696;
// Quiz
//Title
var titleQuiz:quizTitle = new quizTitle();
titleQuiz.x = 419.40;
titleQuiz.y = 192;
// Random Number Backgrounds
var quizBG1:shortTextBG = new shortTextBG();
quizBG1.x = 44.9;
quizBG1.y = 283;
var quizBG2:shortTextBG = new shortTextBG();
quizBG2.x = 368.95;
quizBG2.y = 283;
var quizBG3:shortTextBG = new shortTextBG();
quizBG3.x = 44.9;
quizBG3.y = 360.25;
var quizBG4:shortTextBG = new shortTextBG();
quizBG4.x = 368.95;
quizBG4.y = 360.25;
var quizBG5:shortTextBG = new shortTextBG();
quizBG5.x = 44.90;
quizBG5.y = 440.20;
var quizBG6:shortTextBG = new shortTextBG();
quizBG6.x = 368.95;
quizBG6.y = 440.20;
var quizBG7:shortTextBG = new shortTextBG();
quizBG7.x = 44.90;
quizBG7.y = 518.80;
var quizBG8:shortTextBG = new shortTextBG();
quizBG8.x = 368.95;
quizBG8.y = 518.80
// Signs
var quizAddSign:additionSign = new additionSign();
quizAddSign.x = 280.05;
quizAddSign.y = 251.90;
var quizSubSign:subtractionSign = new subtractionSign();
quizSubSign.x = 281.40;
quizSubSign.y = 323.80;
var quizMulSign:multiplicationSign = new multiplicationSign();
quizMulSign.x = 288.20;
quizMulSign.y = 414.05;
var quizDivSign:divisionSign = new divisionSign();
quizDivSign.x = 280.05;
quizDivSign.y = 489.20;
var quizAddEqualsSign:equalsSign = new equalsSign();
quizAddEqualsSign.x = 603.90;
quizAddEqualsSign.y = 251.90;
var quizSubEqualsSign:equalsSign = new equalsSign();
quizSubEqualsSign.x = 603.90;
quizSubEqualsSign.y = 330.55;
var quizMulEqualsSign:equalsSign = new equalsSign();
quizMulEqualsSign.x = 603.90;
quizMulEqualsSign.y = 409.20;
var quizDivEqualsSign:equalsSign = new equalsSign();
quizDivEqualsSign.x = 603.90;
quizDivEqualsSign.y = 489.20;
// Check quiz
var quizCheck:checkQuiz = new checkQuiz();
quizCheck.x = 369.95;
quizCheck.y = 626.60;
var answerWrong:wrongAnswer = new wrongAnswer();
var answerCorrect:correctAnswer = new correctAnswer();
// Home Page //;
// Create Header & Nav //
// Logo
addChild(headerLogo);
addChild(additionLink);
addChild(subtractionLink);
addChild(multiplicationLink);
addChild(divisionLink);
addChild(animation);
headerLogo.addEventListener(MouseEvent.CLICK, runIndexPage);
function runIndexPage(e:MouseEvent):void
{
// Hide other Pages
hideOtherPages();
addChild(animation);
animation.gotoAndPlay(1);
}
// Addition Page //
additionLink.addEventListener(MouseEvent.CLICK, runAddition);
function runAddition(e:MouseEvent):void
{
hideOtherPages();
createAdditionPage();
}
subtractionLink.addEventListener(MouseEvent.CLICK, runSubtraction);
function runSubtraction(e:MouseEvent):void
{
hideOtherPages();
createSubtractionPage();
}
multiplicationLink.addEventListener(MouseEvent.CLICK, runMultiplication);
function runMultiplication(e:MouseEvent):void
{
hideOtherPages();
createMultiplicationPage();
}
divisionLink.addEventListener(MouseEvent.CLICK, runDivision);
function runDivision(e:MouseEvent):void
{
hideOtherPages();
createDivisionPage();
}
//Global Functions
function createAdditionPage():void
{
addChild(addSimpleX);
addChild(addSimpleY);
addChild(addSimpleAnswer);
addChild(additionAddSign);
addChild(additionEqualsSign);
addChild(addSum);
addChild(addTryOut);
addChild(addDDLink);
addChild(addTQLink);
}
function createSubtractionPage():void
{
addChild(subSimpleX);
addChild(subSimpleY);
addChild(subSimpleAnswer);
addChild(subtractionSubSign);
addChild(subtractionEqualsSign);
addChild(subSum);
addChild(subTryOut);
addChild(subDDLink);
addChild(subTQLink);
}
function createMultiplicationPage():void
{
addChild(mulSimpleX);
addChild(mulSimpleY);
addChild(mulSimpleAnswer);
addChild(multiplicationMulSign);
addChild(mulEqualsSign);
addChild(mulSummary);
addChild(mulTryOut);
addChild(mulDDLink);
addChild(mulTQLink);
}
function createDivisionPage():void
{
addChild(divSimpleX);
addChild(divSimpleY);
addChild(divSimpleAnswer);
addChild(divisionDivSign);
addChild(divEqualsSign);
addChild(divSummary);
addChild(divTryOut);
addChild(divDDLink);
addChild(divTQLink);
}
function hideOtherPages():void
{
if(animation)
{
removeChild(animation);
SoundMixer.stopAll();
}
else if(addSimpleX)
{
removeChild(addSimpleX);
removeChild(addSimpleY);
removeChild(addSimpleAnswer);
removeChild(additionAddSign);
removeChild(additionEqualsSign);
removeChild(addSum);
removeChild(addTryOut);
removeChild(addDDLink);
removeChild(addTQLink);
}
else if(addLong)
{
removeChild(addLong);
removeChild(addDDSum);
removeChild(addDDB2B);
removeChild(addDDTQ);
}
else if(subSimpleX)
{
removeChild(subSimpleX);
removeChild(subSimpleY);
removeChild(subSimpleAnswer);
removeChild(subtractionSubSign);
removeChild(subtractionEqualsSign);
removeChild(subSum);
removeChild(subTryOut);
removeChild(subDDLink);
removeChild(subTQLink);
}
else if(subBudget)
{
removeChild(subBudget);
removeChild(subExpenses);
removeChild(subDDT1);
removeChild(subDDT2);
removeChild(subDDT3);
removeChild(subDDT4);
removeChild(subCheckBudgetLink);
removeChild(subB2BLink);
removeChild(subDDTQLink);
}
else if(mulSimpleX)
{
removeChild(mulSimpleX);
removeChild(mulSimpleY);
removeChild(mulSimpleAnswer);
removeChild(multiplicationMulSign);
removeChild(mulEqualsSign);
removeChild(mulSummary);
removeChild(mulDDLink);
removeChild(mulTQLink);
}
else if(mulDD1)
{
removeChild(mulDD1);
removeChild(mulDD2);
removeChild(mulDD3);
removeChild(mulDD4);
removeChild(mulB2BLink);
removeChild(mulDDTQL);
}
else if(divSimpleX)
{
removeChild(divSimpleX);
removeChild(divSimpleY);
removeChild(divSimpleAnswer);
removeChild(divisionDivSign);
removeChild(divEqualsSign);
removeChild(divSummary);
removeChild(divTryOut);
removeChild(divDDLink);
removeChild(divTQLink);
}
else if(divDD1)
{
removeChild(divDD1);
removeChild(divDD2);
removeChild(divDD3);
removeChild(divB2BLink);
removeChild(divDDTQLink);
}
else if(titleQuiz)
{
removeChild(titleQuiz);
removeChild(quizBG1);
removeChild(quizBG2);
removeChild(quizBG3);
removeChild(quizBG4);
removeChild(quizBG5);
removeChild(quizBG6);
removeChild(quizBG7);
removeChild(quizBG8);
removeChild(quizAddSign);
removeChild(quizSubSign);
removeChild(quizMulSign);
removeChild(quizDivSign);
removeChild(quizAddEqualsSign);
removeChild(quizSubEqualsSign);
removeChild(quizMulEqualsSign);
removeChild(quizDivEqualsSign);
removeChild(quizCheck);
//Dynamic Quiz Removal Section ****
}
}