EaselJSで無限キャンバスを表示する方法はありますか? Javascript または JQuery でそれを行う方法を読みましたが、EaselJS でそれを管理する方法はありますか?
ありがとう!
JavaScript/jQuery を使用してキャンバス自体をドラッグ アンド ドロップできますが、EaselJS コンテンツには組み込みのドラッグ アンド ドロップ モデルがあります。サンプル フォルダーにある DragAndDrop サンプルを確認してください。
主な手順は次のとおりです。
これを示すために小さなスパイクをまとめました。 http://jsfiddle.net/lannymcnie/jKuyy/1/
一連のコンテンツを描画し、ドラッグして移動できます。赤いボックスはマウス イベントをリッスンするものですが、すべてのコンテンツを含む大きなコンテナーを移動するだけです。
ハイライトは次のとおりです。
dragBox.addEventListener("mousedown", startDrag); // Object listens to mouse press
function startDrag(event) {
// Get offset (not shown here, see fiddle)
event.addEventListener("mousemove", doDrag);
}
function doDrag(event) {
// Reposition content using event.stageX and event.stageY (the new mouse coordinates)
}
それが役に立てば幸い!
編集: EaselJS の NEXT バージョン (0.7.0+、2013 年 8 月以降 GitHub で利用可能) には、さらに使いやすい新しいドラッグ アンド ドロップ モデルがあります。 新しいバブリング イベント モデルを使用すると、任意のオブジェクトに pressmove イベントと pressup イベントをアタッチするだけで、誰かがオブジェクトを押してからドラッグ アクションを行うたびにイベントを取得できます。
dragBox.on("pressmove", function(event) {
// Note that the `on` method automatically sets the scope to the dispatching object
// Unless you pass a scope argument.
this.x = event.stageX;
this.y = event.stageY;
});