Chcę przeciągnąć słynną powierzchnię i przywrócić jej pierwotną pozycję, gdy ją puściłem. Wziąłem przykład "przeciągnij" i zmodyfikowałem go, ale gdy wywoływane jest wywołanie zwrotne mouseup
(sprawdziłem z console.log
), transformacja modyfikatora nie jest. Oto odpowiedni kod:Przeciągnij słynną powierzchnię i przenieś ją z powrotem do punktu początkowego po kliknięciu myszą?
var surface = new Surface({
size: [200, 200],
content: 'drag',
properties: {
backgroundColor: 'rgba(200, 200, 200, 0.5)',
lineHeight: '200px',
textAlign: 'center',
cursor: 'pointer'
}
});
var draggable = new Draggable({
xRange: [-220, 220],
yRange: [-220, 220]
});
surface.pipe(draggable);
var mod = new Modifier();
var trans = {
method: 'snap',
period: 300,
dampingRatio: 0.3,
velocity: 0
};
surface.on('mouseup', function() {
mod.setTransform(Transform.translate(0, 0, 0), trans);
});
mainContext.add(mod).add(draggable).add(surface);
pewien, że ma do czynienia z zamówieniem/sposób, że jestem add
-ing im mainContext
na końcu, a porządek, w jakim zdarzenia powodują. Co robię źle/nieporozumienie?
Działa idealnie. Jeszcze raz dziękuję, John! –
@ TheodorVăraru Nie ma za co! To było dla mnie również zabawne ćwiczenie! – johntraver
@johntraver. Próbuję rozszerzyć twój kod do przeciągnij i upuść. Oznacza to, że przeciągalna powierzchnia nie zostanie cofnięta, jeśli zostanie przeciągnięta do widoku docelowego. Czy myślisz, że możesz to rozgryźć? http://stackoverflow.com/q/24614367/1486911 – BloonsTowerDefence