для начинающих парней спасибо за интересную инфраструктуру, отличную работу, я надеюсь, что документация в будущем будет лучше, по-моему, ей не хватает реальных рабочих примеров для каждого метода объекта.EASELjs drag event, что здесь не так
Итак, вот мой вопрос, у меня есть дилемма с этим фреймворком, может кто-то поставить пальцем на то, что я сделал неправильно здесь. Я построю его из этого example. Вот рабочий код на jsfiddle. Последняя версия должна перемещать прямоугольник на холсте.
P.S. То же самое без Контейнера.
var elementOptions = {
stroke: 3,
left: 100,
top: 50,
width: 100,
height: 200,
transformMatrix: [1, 0, 0, 1, 0, 0]
};
function rectElementCanvasObject(options) {
var shape,
rect = new createjs.Graphics()
.setStrokeStyle(options.stroke)
.beginStroke('rgba(255, 0, 0, 0.5)')
.beginFill('rgba(255, 0, 0, 0.5)')
.rect(
options.left,
options.top,
options.width,
options.height);
shape = new createjs.Shape(rect);
if (options.transformMatrix !== undefined) {
shape.transformMatrix = new createjs.Matrix2D(
options.transformMatrix[0],
options.transformMatrix[1],
options.transformMatrix[2],
options.transformMatrix[3],
options.transformMatrix[4],
options.transformMatrix[5]);
}
return shape;
}
$(document).ready(function() {
var canvasId, canvasElement, rectangle, dragger;
canvasId = 'demoCanvas';
canvasElement = new createjs.Stage(canvasId);
canvasElement.mouseMoveOutside = true;
rectangle = rectElementCanvasObject(elementOptions);
dragger = new createjs.Container();
dragger.x = dragger.y = 100;
dragger.addChild(rectangle);
dragger.on("pressmove", function (evt) {
evt.target.x = evt.stageX;
evt.target.y = evt.stageY;
canvasElement.update();
});
dragger.on("pressup", function (evt) {
console.log("up");
});
canvasElement.addChild(dragger);
canvasElement.update();
createjs.Ticker.addEventListener("tick", canvasElement);
});
Спасибо! Да. Вы на правильном пути, я намеревался перетащить элементы с того места, где точки мыши, но в процессе я увидел, что этот элемент не дает живых знаков при перетаскивании;), поэтому я решил задать вопрос здесь. Также я заметил, что когда строка кода 'canvasElement.update();' удалена, элемент все еще перетаскивается, нам действительно нужна эта строка или без нее 'canvasElement' может вызвать некоторые задержки на других элементах при обновлении? - PS Извините, у меня недостаточно репутации, чтобы дать +1, но вы мне помогли, спасибо большое :) –
Я нашел [здесь] (http://stackoverflow.com/questions/22829143/easeljs-glitchy -drag-drop) мой ответ. Я обновил [скрипка] (https://jsfiddle.net/roth/n55jk201/8/) работает очень многообещающе :) –