---------------- 1 ------------------
您好亲爱的开发者朋友们,
我面临一个非常奇怪的错误:让我解释一下。
我目前正在 AS3 中开发 E-Learning 应用程序,培训以 FLA 章节的形式出现,扩展了我们将命名为“ChapterDefault”的父类。
今天突然间,我不知道为什么,但我的一个章节决定他的文档类构造函数必须被无限调用(我在文档类构造函数的开头放置了一个跟踪,它被无限触发)
更准确地说:
我有一个扩展父类(ChapterDefault.as)的 FLA(章节),所以我的文档类(chapter.as)如下:
public class Chapitre extends ChaptitreDefaut{
public function Chapitre (){
trace("Construct");
super();
}
}
结果 :
Construct
Construct
Construct
Construct
...
请我现在已经拉了 5 个小时的头发,任何线索或建议都可以采纳。提前谢谢,不要犹豫,问我更多细节。
如果它很奇怪,对不起我的英语^^
---------------- 2 ------------------
ChapterDefault 是一个非常大的类(大约 1.5k 行),所以我不会把它放在这里 ^^ 而且我真的不认为它来自它,因为其他每一章都是从它继承而来的,没有任何问题。
这是它的构造函数(它是法语):
public function ChapitreDefaut()
{
MonsterDebugger.initialize(this);
if(ChargeurFormation.charge){
init();
}
else{
// On récupère le fichier XML dans le cas d'une compilation isolée :
c_XML = new ChargeurXML();
c_XML.addEventListener(IOErrorEvent.IO_ERROR, erreurCheminXml);
c_XML.addEventListener(Event.COMPLETE, chargementXmlTermine);
c_XML.charge(new URLRequest("../../../init/init.xml"));
MonsterDebugger.trace(this, "Chargement du XML lancé", "Max", "Constructeur ChapitreDefaut", 0xFF00FF);
c_PrefixeCheminRelatif = "../../../fla/";
}
// Nous sommes dans un chapitre, toutes les questions s'affichent dans un cadre :
Question.AVEC_CADRE = true;
// Ecoute des évènements
this.addEventListener(CHAPITRE_PRET, lanceChapitre);
this.addEventListener(Event.ADDED_TO_STAGE, ajoutScene);
}
如果你想要代码的另一部分,我也可以给你。
非常感谢
---------------- 3 ------------------
感谢您的回答,但我认为这不是提到的 3 个中的任何一个:
1)我的父/子类拼写正确
2) 无法创建新实例!“LesTypesDePression”是我的 FLA,之前的代码用于文档类,所以我不能通过 ctrl+enter 多次调用它
3) 在 init() 中,我只是实例化 Sprites/shapes 等,无论如何,在这种情况下,您可以将 ChargeurFormation.charge 视为永久错误,这样就不会发生。
PS:我试图删除 super(),并没有改变任何东西。