Skip to content

Commit aa01319

Browse files
committed
animated movement with css 3.
1 parent 7972c9b commit aa01319

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

public/client.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,15 @@ var draggingObjectNewFlipped;
7070
var draggingMouseStartX;
7171
var draggingMouseStartY;
7272
function onObjectMouseDown(event) {
73+
if (event.button !== 0) return;
7374
event.preventDefault();
74-
var objectId = this.id;
75+
var objectImg = this;
76+
var objectId = objectImg.id;
7577
var object = objectsById[objectId];
7678
if (getObjectDefinition(object.id).movable === false) return;
7779

7880
// begin drag
81+
objectImg.classList.add("instantMove");
7982
var x = eventToMouseX(event, mainDiv);
8083
var y = eventToMouseY(event, mainDiv);
8184
draggingObject = object;
@@ -96,6 +99,9 @@ document.addEventListener("mouseup", function(event) {
9699
draggingObject.z === draggingObjectNewZ &&
97100
draggingObject.flipped === draggingObjectNewFlipped)) {
98101
moveObject(draggingObject, draggingObjectNewX, draggingObjectNewY, draggingObjectNewZ, draggingObjectNewFlipped);
102+
103+
var objectImg = document.getElementById(draggingObject.id);
104+
objectImg.classList.remove("instantMove");
99105
}
100106
draggingObject = null;
101107
}

public/index.html

+5
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99
}
1010
.gameObject {
1111
position: absolute;
12+
transition-property: left top height witdh;
13+
transition-duration: 0.2s;
14+
}
15+
.instantMove {
16+
transition-duration: 0s;
1217
}
1318
</style>
1419
</head>

0 commit comments

Comments
 (0)