3
A
回答
10
您可以使用JavaScript/jQuery拖放畫布本身 - 但在EaselJS內容上有一個內置的拖放模型。查看示例文件夾中的DragAndDrop示例。
的主要步驟爲:
- 偵聽mouseDown事件上東西。您應該在任何顯示對象上使用內置的EaselJS事件。您不能使用舞臺事件「stagemousedown」,因爲它不公開您需要的拖動事件,並且Canvas上的DOM事件不會有任何幫助。
- 事件處理程序包含的鼠標事件將分派用於拖放的其他事件。添加「mousemove」和「mouseup」的偵聽器。
- 響應鼠標移動事件以在畫布上移動內容。
我扔了一個小尖峯來表明這一點。 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的下一個版本(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;
});
相關問題
- 1. Ch canvas畫布動畫 - EaselJS
- 2. 方法比較:EaselJS vs多個畫布與隱藏畫布的交互性
- 3. 在循環easeljs中訪問畫布
- 4. EaselJS,從文件創建圖像(畫布)
- 5. easeljs改變起源2D畫布翻譯
- 6. EaselJS的onclick接管整個畫布
- 7. 使畫布變得無限
- 8. opengl中'無限'畫布
- 9. Flex中的無限畫布
- 10. EaselJS三角筆畫
- 11. woomark無限畫廊與bootstrap.css
- 12. EaselJS spritesheet動畫在畫布上不可見,但沒有錯誤
- 13. 如何擁有無限大的畫布?
- 14. 無限滾動與瓷磚地圖畫布沒有重繪
- 15. HTML5帆布使用easeljs鍋
- 16. EaselJS - 具有兩個不同的FPS畫布
- 17. 使用EaselJS在html5畫布中繪製線條
- 18. EaselJS更改了畫布高度。如何避免這種情況?
- 19. 使用EaselJS在畫布周圍構建座標系
- 20. React-Native,在Webview中渲染H5畫布和EaselJS形狀
- 21. 隨機無限旋轉動畫與jQuery
- 22. 無限元素動畫與jQuery和css
- 23. Android,無限重複動畫與instrumentation.waitForIdleSync()
- 24. 無限背景動畫與velocity.js
- 25. 粗體/斜體與畫布無關fillText()
- 26. 無法在畫布旋轉畫布
- 27. JQuery無限動畫
- 28. jquery無限動畫
- 29. 畫布與縮放動畫
- 30. 畫布佈局與SurfaceView
「無限畫布」是什麼意思?如果您指的是舞臺的大小 - 這取決於設備(大約6k-8k像素) - 但舞臺上的物體的位置可能是非常無限的。 - 不確定,但如果你的意思是。 – olsn 2013-04-07 19:55:55
@olsn我懷疑OP意味着在畫布繪製命令上使用變換,以便可見內容看起來在任何方向上連續滾動「永遠」。 – Phrogz 2013-04-07 20:56:37
這是正確的,@Phrogz,這就是我正在尋找。我看到: http://stackoverflow.com/questions/7218645/how-to-have-an-infinitely-big-canvas 但我認爲我不能讓畫布拖動,可以嗎?我試過類似stage.onPress的東西,但沒有奏效。 – Cod1ngFree 2013-04-07 23:24:37