Tengo un juego basado en agar.io y quiero mejorar está función de modo que el juego vaya más rapido , alguien que de verdad sepa puede hacerlo ?
ARCHIVO COMPLETO POR SI DESEAS VERLO: http://ogar.pw/assets/js/main_out.js
Código (javascript) [Seleccionar]
function updateNodes(view, offset) {
timestamp = +new Date;
var code = Math.random();
ua = false;
var queueLength = view.getUint16(offset, true);
offset += 2;
for (i = 0; i < queueLength; ++i) {
var killer = nodes[view.getUint32(offset, true)],
killedNode = nodes[view.getUint32(offset + 4, true)];
offset += 8;
if (killer && killedNode) {
killedNode.destroy();
killedNode.ox = killedNode.x;
killedNode.oy = killedNode.y;
killedNode.oSize = killedNode.size;
killedNode.nx = killer.x;
killedNode.ny = killer.y;
killedNode.nSize = killedNode.size;
killedNode.updateTime = timestamp;
}
}
for (var i = 0;;) {
var nodeid = view.getUint32(offset, true);
offset += 4;
if (0 == nodeid) break;
++i;
var size, posY, posX = view.getInt32(offset, true);
offset += 4;
posY = view.getInt32(offset, true);
offset += 4;
size = view.getInt16(offset, true);
offset += 2;
for (var r = view.getUint8(offset++), g = view.getUint8(offset++), b = view.getUint8(offset++),
color = (r << 16 | g << 8 | b).toString(16); 6 > color.length;) color = "0" + color;
var colorstr = "#" + color,
flags = view.getUint8(offset++),
flagVirus = !!(flags & 0x01),
flagEjected = !!(flags & 0x20),
flagAgitated = !!(flags & 0x10),
_skin = "";
flags & 2 && (offset += 4);
if (flags & 4) {
for (;;) { // skin name
t = view.getUint8(offset, true) & 0x7F;
offset += 1;
if (0 == t) break;
_skin += String.fromCharCode(t);
}
}
for (var char, name = "";;) { // nick name
char = view.getUint16(offset, true);
offset += 2;
if (0 == char) break;
name += String.fromCharCode(char);
}
var node = null;
if (nodes.hasOwnProperty(nodeid)) {
node = nodes[nodeid];
node.updatePos();
node.ox = node.x;
node.oy = node.y;
node.oSize = node.size;
node.color = colorstr;
} else {
node = new Cell(nodeid, posX, posY, size, colorstr, name, _skin);
nodelist.push(node);
nodes[nodeid] = node;
node.ka = posX;
node.la = posY;
}
node.isVirus = flagVirus;
node.isEjected = flagEjected;
node.isAgitated = flagAgitated;
node.nx = posX;
node.ny = posY;
node.setSize(size);
node.updateCode = code;
node.updateTime = timestamp;
node.flag = flags;
name && node.setName(name);
if (-1 != nodesOnScreen.indexOf(nodeid) && -1 == playerCells.indexOf(node)) {
document.getElementById("overlays").style.display = "none";
playerCells.push(node);
if (1 == playerCells.length) {
nodeX = node.x;
nodeY = node.y;
}
}
}
queueLength = view.getUint32(offset, true);
offset += 4;
for (i = 0; i < queueLength; i++) {
var nodeId = view.getUint32(offset, true);
offset += 4;
node = nodes[nodeId];
null != node && node.destroy();
}
ua && 0 == playerCells.length && showOverlays(false)
}[/i]ARCHIVO COMPLETO POR SI DESEAS VERLO: http://ogar.pw/assets/js/main_out.js
{var c=i.getUint32(o,!0);if(o+=4,0==c)break;++a;var d=i.getInt16(o,!0),o=o+ 2,p=i.getInt16(o,!0),o=o+ 2;g=i.getInt16(o,!0),o+=2;for(var h=i.getUint8(o++),u=i.getUint8(o++),l=i.getUint8(o++),h=(h<<16|u<<8|l).toString(16);6>h.length;)h="0"+ h;var h="#"+ h,w=i.getUint8(o++),u=!!(1&w),l=!!(16&w);2&w&&(o+=4),4&w&&(o+=8),8&w&&(o+=16);for(var f,w="";f=i.getUint16(o,!0),o+=2,0!=f;)w+=String.fromCharCode(f);f=w,w=null,m.hasOwnProperty(c)?(w=m[c],w.updatePos(),w.ox=w.x,w.oy=w.y,w.oSize=w.size,w.color=h):(w=new r(c,d,p,g,h,f),w.pX=d,w.pY=p),w.isVirus=u,w.isAgitated=l,w.nx=d,w.ny=p,w.nSize=g,w.updateCode=e,w.updateTime=n,f&&w.setName(f)} for(e=i.getUint32(o,!0),o+=4,a=0;e>a;a++)c=i.getUint32(o,!0),o+=4,w=m[c],null!=w&&w.destroy()} function c(i){var t=0,n=new DataView(i.data);switch(240==n.getUint8(t)&&(t+=5),n.getUint8(t++)){case 16:p(n,t);break;case 20:l=[];break;case 32:var e=n.getUint32(t,!0);l.push(e)}} var h=window.WebSocket,u=window.jQuery,m=[],l=[];r.prototype={id:0,points:null,pointsAcc:null,name:null,nameCache:null,sizeCache:null,x:0,y:0,size:0,ox:0,oy:0,oSize:0,nx:0,ny:0,nSize:0,updateTime:0,updateCode:0,drawTime:0,destroyed:!1,isVirus:!1,isAgitated:!1,wasSimpleDrawing:!0,destroy:function(){delete m[this.id],id=l.indexOf(this.id),-1!=id&&l.splice(id,1),this.destroyed=!0,n(this.id)},setName:function(i){this.name=i},updatePos:function(){-1!=l.indexOf(this.id)&&(e(this.id)||t(this.id,i(this.id,this.color)),o(this.id,this.nx,this.ny),s(this.nx,this.ny))}},window.WebSocket=function(i,t){void 0===t&&(t=[]);var n=new h(i,t);d(this,n,"binaryType"),d(this,n,"bufferedAmount"),d(this,n,"extensions"),d(this,n,"protocol"),d(this,n,"readyState"),d(this,n,"url"),this.send=function(i){return