Build
Save
Load
Back
var canvas = document.getElementById("screen"); var belectricEngine = function(processingInstance) { with(processingInstance) { size(900, 600); frameRate(30); var backgroundColor = color(100, 100, 200); var edgeColor = color(0, 0, 0); var x = 415; //Nodes var node0 = [-100, 100, -350]; //Last -100 //Middle -100 var node1 = [-100, 100, 100]; //Middle -100 var node2 = [-100, 100, -350]; //Last -100 var node3 = [-100, 100, 100]; var node4 = [500, 100, -350]; //Last -100 //First 100 //Middle -100 var node5 = [500, 100, 100]; //First 100 //Middle -100 var node6 = [500, 100, -350]; //Last -100 //First 100 var node7 = [500, 100, 100]; //First 100d var nodes = [node0, node1, node2, node3, node4, node5, node6, node7]; //Edges var edge0 = [0, 1]; var edge1 = [1, 3]; var edge2 = [3, 2]; var edge3 = [2, 0]; var edge4 = [4, 5]; var edge5 = [5, 7]; var edge6 = [7, 6]; var edge7 = [6, 4]; var edge8 = [0, 4]; var edge9 = [1, 5]; var edge10 = [2, 6]; var edge11 = [3, 7]; var edges = [edge0, edge1, edge2, edge3, edge4, edge5, edge6, edge7, edge8, edge9, edge10, edge11]; //Rotate Z var rotateZ3D = function(theta) { var sinTheta = sin(theta); var cosTheta = cos(theta); for (var n=0; n<nodes.length; n++) { var node = nodes[n]; var x = node[0]; var y = node[1]; node[0] = x * cosTheta - y * sinTheta; node[1] = y * cosTheta + x * sinTheta; } }; //Rotate X var rotateX3D = function(theta) { var sinTheta = sin(theta); var cosTheta = cos(theta); for (var n=0; n<nodes.length; n++) { var node = nodes[n]; var y = node[1]; var z = node[2]; node[1] = y * cosTheta - z * sinTheta; node[2] = z * cosTheta + y * sinTheta; } }; //Rotate Y var rotateY3D = function(theta) { var sinTheta = sin(theta); var cosTheta = cos(theta); for (var n=0; n<nodes.length; n++) { var node = nodes[n]; var x = node[0]; var z = node[2]; node[0] = x * cosTheta + z * sinTheta; node[2] = z * cosTheta - x * sinTheta; } }; //Chat Beta var letters=[]; var c=0; var a=""; var keyTyped = function() { if(keyCode !== 16 && keyCode!==127) { letters.push(key); } }; var mouseClicked = function() { letters.splice(letters.length-1, 1) }; //Draw draw = function() { background(backgroundColor); pushMatrix(); translate(200, 200); //Draw Edges stroke(edgeColor); for (var e=0; e<edges.length; e++) { var n0 = edges[e][0]; var n1 = edges[e][1]; var node0 = nodes[n0]; var node1 = nodes[n1]; var ratio1 = x / (x + node0[2]); var ratio2 = x / (x + node1[2]); line(node0[0] * ratio1, node0[1] * ratio1, node1[0] * ratio2, node1[1] * ratio2); } popMatrix(); //Player List fill(25, 25, 25, 150); rect(760, 10, 125, 175, 10); fill(255, 255, 255); text("Players\n------------------------\nPlayer1\n------------------------\nPlayer2\n------------------------\nPlayer3\n------------------------\nPlayer4\n------------------------\nPlayer5", 775, 30); //Tools fill(25, 25, 25, 150); rect(10, 530, 60, 60, 10); fill(255, 255, 255); text("1", 15, 547.5); //Tool 2 fill(25, 25, 25, 150); rect(80, 530, 60, 60, 10); fill(255, 255, 255); text("2", 85, 547.5); //Draw Chat fill(25, 25, 25, 150); rect(10, 10, 250, 175, 10); fill(255, 255, 255); text(join(letters,"")+a, 20, 20, 225, 155); if (c===15) { a=""; } else if (c>30) { a="|"; c=0; } c+=1; }; //mouseDragged = function() { // rotateY3D(mouseX - pmouseX); // rotateX3D(mouseY - pmouseY); //}; rotateZ3D(0); rotateY3D(0); rotateX3D(0); } }; var processingInstance = new Processing(canvas, belectricEngine);