Some changes
This commit is contained in:
parent
ed18c043a4
commit
e2b78d1e22
2 changed files with 22 additions and 10 deletions
|
@ -2,7 +2,7 @@
|
|||
"folders":
|
||||
[
|
||||
{
|
||||
"path": "/Users/joshua/Documents/www/vadovas/beats"
|
||||
"path": "./"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
28
index.js
28
index.js
|
@ -1,10 +1,14 @@
|
|||
var myName;
|
||||
var websocket;
|
||||
|
||||
var statusbar
|
||||
var ballscreen;
|
||||
var svgscreen;
|
||||
|
||||
var current_svgline;
|
||||
var balls_online = new Array();
|
||||
var svglines_online = new Array();
|
||||
|
||||
var speed = 100;
|
||||
var line_kind = 1;
|
||||
|
||||
|
@ -14,7 +18,7 @@ function init() {
|
|||
var login = document.getElementById('login');
|
||||
login.parentNode.removeChild(login);
|
||||
|
||||
var statusbar = document.getElementById('status');
|
||||
statusbar = document.getElementById('status');
|
||||
ballscreen = document.getElementById("ballscreen");
|
||||
svgscreen = document.getElementById("svgscreen");
|
||||
|
||||
|
@ -31,40 +35,45 @@ function init() {
|
|||
|
||||
function onOpen(evt) {
|
||||
updateUser();
|
||||
setInterval(poll, speed);
|
||||
}
|
||||
|
||||
function onMessage(evt) {
|
||||
console.log(evt.data);
|
||||
var ret = JSON.parse(evt.data);
|
||||
var balls = ret.balls;
|
||||
var lines = ret.lines;
|
||||
|
||||
statusbar.innerHTML = balls.length;
|
||||
|
||||
if(balls){
|
||||
console.log('updating balls');
|
||||
updateBalls(balls);
|
||||
}
|
||||
if(lines){
|
||||
console.log('updating lines');
|
||||
updateLines(lines);
|
||||
//updateLines(lines);
|
||||
}
|
||||
|
||||
setTimeout(function(){
|
||||
poll();
|
||||
}, speed);
|
||||
}
|
||||
|
||||
function updateBalls(balls){
|
||||
// Because we use transitions for the balls
|
||||
// we really update them, and only delete the ones which are absent
|
||||
|
||||
var updates = 0;
|
||||
var news = 0;
|
||||
var removed = 0;
|
||||
|
||||
for(i in balls_online){
|
||||
balls_online[i].should_remove = true;
|
||||
}
|
||||
for (var i = balls.length - 1; i >= 0; i--) {
|
||||
var ball = document.getElementById(balls[i].information);
|
||||
if(ball){
|
||||
++updates;
|
||||
ball.style.left = balls[i].position.x + "px";
|
||||
ball.style.top = balls[i].position.y + "px";
|
||||
ball.should_remove = false;
|
||||
} else {
|
||||
++news;
|
||||
var ball = document.createElement('div');
|
||||
ball.should_remove = false;
|
||||
ball.id = balls[i].information;
|
||||
|
@ -79,10 +88,13 @@ function updateBalls(balls){
|
|||
}
|
||||
for (var i = balls_online.length - 1; i >= 0; i--) {
|
||||
if(balls_online[i].should_remove){
|
||||
++removed
|
||||
ballscreen.removeChild(balls_online[i]);
|
||||
balls_online.splice(i, 1);
|
||||
}
|
||||
};
|
||||
|
||||
statusbar.innerHTML = updates + ', ' + news + ', ' + removed;
|
||||
}
|
||||
|
||||
function updateLines(lines){
|
||||
|
|
Reference in a new issue