3

これらのオブジェクトをキネティック js でレイヤー化する方法がよくわかりません。サークルをサークル 2 の上に配置したいのです。「circle.setZIndex();」と書いていますか? 不適切に?これはスクリプトを壊しています。

.setZIndex 行がコメント化された jsfiddle: http://jsfiddle.net/ZfuDs/

  function writeMessage(messageLayer, message) {
    var context = messageLayer.getContext();
    messageLayer.clear();
    context.font = '18pt Calibri';
    context.fillStyle = 'black';
    context.fillText(message, 10, 25);
  }
  var stage = new Kinetic.Stage({
    container: 'container',
    width: 578,
    height: 200
  });
  var shapesLayer = new Kinetic.Layer();
  var messageLayer = new Kinetic.Layer();

var circle2 = new Kinetic.Circle({
    x: 360,
    y: stage.getHeight() / 2,
    radius: 90,
    fill: 'orange',
    stroke: 'black',
    strokeWidth: 4
  });
circle2.setZIndex(3);

  var circle = new Kinetic.Circle({
    x: 380,
    y: stage.getHeight() / 2,
    radius: 70,
    fill: 'red',
    stroke: 'black',
    strokeWidth: 4
  });
   circle.setZIndex(2); 


  shapesLayer.add(circle);
  shapesLayer.add(circle2);

  stage.add(shapesLayer);
  stage.add(messageLayer);
4

2 に答える 2

4

最初にcircle2形状を追加してから、次にcircle形状を追加してみてください

shapesLayer.add(circle2);
shapesLayer.add(circle);

それ以外の

shapesLayer.add(circle);
shapesLayer.add(circle2);

これを試してみてくださいhttp://jsfiddle.net/ZfuDs/1/

于 2012-12-14T06:45:25.260 に答える
3

オブジェクトがレイヤーに追加される前に、z-index関数を呼び出すことはできないようです:

TypeError: this.parent is undefined
    this.parent.children.splice(index, 1);

もうエラーは発生しませんが、setZIndex() メソッドは機能していないようですが、circle.moveToTop() は機能します。http://jsfiddle.net/ZfuDs/3 を確認してください

于 2012-12-14T16:50:55.523 に答える