2012-01-19 7 views
3

私はKineticJSで遊ぶのに少し問題があります。KineticJS - Shape.setPosition();

私のfiddleからわかるように、ドロップイベントの内側にあるShapeオブジェクト(ボックス)にアクセスしてx座標とy座標を取得できます。新しい座標を取得するために数学を実行していますシェイプを「スナップ」したいのですが、どのように地面を設定してボックスを再描画するのかわかりません。

ドキュメントはせいぜい、スパースです:

http://www.kineticjs.com/api-docs.php(Shape.setPosition(x、y)を参照してください)

ここで誰もが、まだこのライブラリを台無していますか?

EDIT:私の今働いフィドル:http://jsfiddle.net/Programmer/m4MZk/

答えて

7

チェックアウトそれらの座標に基づいて、所定の位置にシェイプオブジェクトをスナップの一例であるラボ「ビーチの動物」:

http://www.html5canvastutorials.com/labs/html5-canvas-animals-on-the-beach-game-with-kineticjs/

+0

ありがとう!私は実際に昨日それを理解して、私のフィドルを更新しましたが、あなたが投稿した医者が本当に好きでした。私はそれを見ていない、あなたが投稿したものが私を助けてくれたので、 – Josh

2

これは私のために働いて、今ではフル回路図の描画アプリに拡張されました。

アニマルズオンザビーチコードに基づいていますが、少しシンプルです。

http://reviseomatic.org/help/e-tools/Diagram%20Designer%20Circuits.php

wire1vImg.on('dragend', function() { 
    var point = wire1vImg.getPosition(); 
    var newX = Math.round(point.x/15) * 15; 
    var newY = Math.round(point.y/15) * 15; 
    wire1vImg.setPosition(newX, newY); 
    stage.draw(); 
}); 
関連する問題