0

私は次のコードを持っていますが、マウスオーバーによって位置が変わりません-何が欠けていますか?

function drawOverlay() {
    var stage = new Kinetic.Stage({container: 'overlay'});
    var layer = new Kinetic.Layer();

    var rect = new Kinetic.Rect({
        x: 239, y: 75,
        width: 100, height: 50,
        fill: 'green', stroke: 'black', strokeWidth: 4
    });
    rect.on('mouseover', function(e) {rect.setPosition({x: 50, y: 5 0});});

    layer.add(rect);
    stage.add(layer);
}
4

1 に答える 1

1

ここで 2 つの問題:

  1. y の値にスペースが含まれています: "5 0" 対 "50" で、JavaScript 解析エラーが発生します。
  2. ノードの位置を変更した後、レイヤーを再描画する必要があります。

だからこれを試してください:

rect.on('mouseover', function(e) {
    rect.setPosition({x: 50, y: 50}); 
    layer.draw(); 
});
于 2013-03-04T15:09:51.743 に答える