1

これは私の初めての投稿であり、この質問に対する回答をできる限り探しました。手ぶらで来ました。

以前は kineticJS の 3.10.2 を使用していました。今日の時点で最新の 4.1.2 を使用するようにライブラリを更新しました。いくつかのエラーが発生しましたが、そのほとんどは解決しましたが、行き止まりになりました。

jsファイルで発生するエラーは次のとおりです。jsのどこで起こっているのかわかりません。

Uncaught RangeError: Maximum call stack size exceeded
  Kinetic.Node.getParent
  Kinetic.Node.getStage
  Kinetic.Node.getStage
  .....

Kinetic.Node.getStage以後100回以上繰り返す。

この記事のおかげで、プロトタイプをどのように変更しているかに関係していると信じる理由がありますKinetic.Shape

function Datapoint() {
 this.uv = 0;
 this.royalblue = 0;
 this.royalblue2 = 0;
 this.presetId = 0;
 this.blue = 0;
 this.coolwhite = 0;
 this.green = 0;
 this.hyperred = 0;
 this.brightness = 0;
 this.clouds = 0;
 this.storms = 0;
 this.pointTime = new Date();
 this.id = 0;
 this.profileId = 0;
 this.intensity = 0;
 this.xCoord = 0;
 this.yCoord = 0;
 this.isStartNight = false;
 this.isStartDay = false;
 this.isNight = false
 this.isDay = false;
 this.isNatural = false;
}

//Modify the shape object
var DatapointObject = Kinetic.Shape;
DatapointObject.prototype.Datapoint;

次に、標準的な方法でポイントを作成しようとします。

var point = Kinetic.Circle({<config object>});

これが私のエラーの原因である可能性があると思います。もしそうなら、どうすれば修正できますか?

これが私のエラーの原因ではない場合、問題がどこにあるのかを推測するのに役立つアドバイスを誰かに貸してもらえますか?

4

1 に答える 1

1

このエラーは、それ自体にレイヤーを追加することによっても発生することがわかりました。そのようです:

myLayer.add(myLayer);  //<--doesn't make any sense

これは

myStage.add(myLayer); //<-- fixed
于 2012-12-07T14:17:33.507 に答える