Я новичок в Action Script и очень смущен тем, почему я получаю переполнение стека. Я опубликую все 3 класса (что важно). И выход я получаю. Может кто-нибудь объяснить мне, почему это приведет к переполнению стека?Переполнение стека при создании нового экземпляра класса
Main Class:
public function Main() {
//Problem starts here
player1 = new Player();
player2 = new Player();
// More code that does not matter
}
игрока Класс:
package {
import fl.motion.Color;
import flash.display.MovieClip;
public class Player extends MovieClip {
public function Player() {
var index:Finger = new Finger();
var middle:Finger = new Finger();
var ring:Finger = new Finger();
var pinkie:Finger = new Finger();
}
}
}
Палец Класс:
package {
public class Finger extends Player {
var colorOn:String;
public function Finger(){
colorOn = ""
}
function SetColor(colour:String):void {
this.colorOn = colour;
}
}
}
Выход:
Is this where stack overflow accuros?
Error: Error #1023: Stack overflow occurred.
at flash.display::DisplayObject()
at flash.display::InteractiveObject()
at flash.display::DisplayObjectContainer()
at flash.display::Sprite()
at flash.display::MovieClip()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
at Finger()
at Player()
На вашем конструкторе класса пальцев, разве вы не пропустили полуколонку? Не должно быть так: this.colorOn = ""; –
Это показало бы ошибку времени компиляции. Я исправил его, но у меня такая же ошибка. – Cornelis