floor.html 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <!DOCTYPE HTML>
  2. <html lang="en">
  3. <head>
  4. <title>three.js - particles - floor</title>
  5. <meta charset="utf-8">
  6. <style type="text/css">
  7. body
  8. {
  9. background-color: #000000;
  10. margin: 0px;
  11. overflow: hidden;
  12. }
  13. a
  14. {
  15. color:#0078ff;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <script type="text/javascript" src="http://github.com/mrdoob/three.js/raw/master/build/three.js"></script>
  21. <script type="text/javascript" src="http://github.com/mrdoob/stats.js/raw/master/build/stats.js"></script>
  22. <script type="text/javascript">
  23. var SCREEN_WIDTH = window.innerWidth;
  24. var SCREEN_HEIGHT = window.innerHeight;
  25. var SEPARATION = 100;
  26. var AMOUNTX = 50;
  27. var AMOUNTY = 50;
  28. var stats;
  29. var container;
  30. var particles, particle;
  31. var camera;
  32. var scene;
  33. var renderer;
  34. var mouseX = 0;
  35. var mouseY = 0;
  36. var windowHalfX = window.innerWidth >> 1;
  37. var windowHalfY = window.innerHeight >> 1;
  38. document.addEventListener('mousemove', onDocumentMouseMove, false);
  39. init();
  40. setInterval(loop, 1000 / 60);
  41. function init()
  42. {
  43. container = document.createElement('div');
  44. document.body.appendChild(container);
  45. camera = new Camera(0, 0, 1000);
  46. camera.focus = 200;
  47. scene = new Scene();
  48. renderer = new CanvasRenderer();
  49. renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
  50. particles = new Array();
  51. var i = 0;
  52. var material = new ColorMaterial(0xffffff, 1);
  53. for (var ix = 0; ix < AMOUNTX; ix++)
  54. {
  55. for(var iy = 0; iy < AMOUNTY; iy++)
  56. {
  57. particle = particles[i++] = new Particle( material );
  58. particle.position.x = ix * SEPARATION - ((AMOUNTX * SEPARATION) / 2);
  59. particle.position.z = iy * SEPARATION - ((AMOUNTY * SEPARATION) / 2);
  60. particle.updateMatrix();
  61. scene.add( particle );
  62. }
  63. }
  64. container.appendChild(renderer.viewport);
  65. stats = new Stats();
  66. container.appendChild( stats.getDisplayElement() );
  67. }
  68. function onDocumentMouseMove(event)
  69. {
  70. mouseX = (event.clientX - windowHalfX);
  71. mouseY = (event.clientY - windowHalfY);
  72. }
  73. function loop()
  74. {
  75. camera.x += (mouseX - camera.x) * .05;
  76. camera.y += (-mouseY - camera.y) * .05;
  77. camera.updateMatrix();
  78. renderer.render(scene, camera);
  79. stats.update();
  80. }
  81. </script>
  82. </body>
  83. </html>