Есть ли способ отображения бесконечного холста с помощью EaselJS? Я прочитал способы сделать это с помощью Javascript или JQuery, но есть ли способ управлять им с помощью EaselJS?Бесконечное полотно с EaselJS
Спасибо!
Есть ли способ отображения бесконечного холста с помощью EaselJS? Я прочитал способы сделать это с помощью Javascript или JQuery, но есть ли способ управлять им с помощью EaselJS?Бесконечное полотно с 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 (0.7.0+, доступна в GitHub с августа 2013 года) имеет новую модель перетаскивания, которая еще проще в использовании. Новая модель событий пузырьков позволяет просто прикрепить события нажатия и нажатия на любом объекте, чтобы получать события в любое время, когда кто-то нажимает на объект, а затем выполняет перетаскивание.
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;
});
Что вы подразумеваете под «бесконечным холстом»? Если вы ссылаетесь на размер сцены - это ограничено в зависимости от устройства (около 6k-8k пикселей), но положение объектов на сцене может быть довольно бесконечным. -Не уверен, хотя, если бы вы имели в виду это. – olsn
@olsn Я подозреваю, что OP означает использование преобразований в командах рисования холста, чтобы видимый контент показывал непрерывную прокрутку в любом направлении «навсегда». – Phrogz
Это правильно, @Phrogz, вот что я ищу. Я видел это: http://stackoverflow.com/questions/7218645/how-to-have-an-infinitely-big-canvas Но я думаю, что я не могу сделать холст перетаскиваемым, не так ли? Я пробовал что-то вроде stage.onPress, но это не сработало. – Cod1ngFree