test.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. var camera, scene, renderer,controls,material;
  2. var sphere;
  3. init();
  4. animate();
  5. function init(texture) {
  6. var container, mesh;
  7. container = document.getElementById('container');
  8. // camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 1100);
  9. camera = new THREE.PerspectiveCamera(90, window.innerWidth / window.innerHeight, 1, 1100);
  10. camera.target = new THREE.Vector3(0, 0, 0);
  11. scene = new THREE.Scene();
  12. var geometry = new THREE.SphereBufferGeometry(500, 60, 40);
  13. geometry.scale(-1, 1, 1);
  14. // invert the geometry on the x-axis so that all of the faces point inward
  15. material = new THREE.MeshBasicMaterial({ color:0x0000ff});
  16. mesh = new THREE.Mesh(geometry, material);
  17. scene.add(mesh);
  18. var geometry = new THREE.SphereBufferGeometry(5, 60, 40);
  19. geometry.scale(-1, 1, 1);
  20. // invert the geometry on the x-axis so that all of the faces point inward
  21. material = new THREE.MeshBasicMaterial({ color:0xff00ff});
  22. sphere = new THREE.Mesh(geometry, material);
  23. scene.add(sphere);
  24. renderer = new THREE.WebGLRenderer();
  25. renderer.setPixelRatio(window.devicePixelRatio);
  26. renderer.setSize(window.innerWidth, window.innerHeight);
  27. container.appendChild(renderer.domElement);
  28. camera.position.set( 0, 0, 10 );
  29. window.camera=camera
  30. window.addEventListener('resize', onWindowResize, false);
  31. }
  32. function onWindowResize() {
  33. camera.aspect = window.innerWidth / window.innerHeight;
  34. camera.updateProjectionMatrix();
  35. renderer.setSize(window.innerWidth, window.innerHeight);
  36. }
  37. function updateCameraTo(){
  38. const coords = {x: camera.fov, y: 0} // Start at (0, 0)
  39. const fov = 30
  40. const tween = new TWEEN.Tween(coords) // Create a new tween that modifies 'coords'.
  41. .to({x:fov,y:0}, 5000) // Move to (300, 200) in 1 second.
  42. .easing(TWEEN.Easing.Quadratic.Out) // Use an easing function to make the animation smooth.
  43. .onUpdate((e,t) => {
  44. camera.fov = coords.x
  45. camera.updateProjectionMatrix();
  46. })
  47. .onComplete(()=>{
  48. camera.fov = 90
  49. // console.log()
  50. })
  51. .start() // Start the tween immediately.
  52. }
  53. //------------------------------------------
  54. function animate() {
  55. requestAnimationFrame(animate);
  56. update();
  57. }
  58. function update() {
  59. if(camera.fov>=90){
  60. console.log(camera.fov)
  61. updateCameraTo()
  62. }
  63. TWEEN.update()
  64. renderer.render(scene, camera);
  65. }
  66. // function reloadData() {
  67. // window.location.href="pano_object_scenne_test.html";
  68. // }
  69. var btn = new tvSysBtnBind({
  70. id: "Jdoc",
  71. className: "ctrlBtn",
  72. currentClass: "current",
  73. keyRemoveDefault: false,
  74. effect: "base",
  75. currentIndex: 0,
  76. onLoad: function(e) {
  77. console.log(e);
  78. },
  79. onPress:function() {
  80. var keyCode = this.event.keyCode;
  81. console.log(keyCode);
  82. alert(keyCode)
  83. switch (keyCode) {
  84. case 37:
  85. // reloadData();
  86. break;
  87. case 39:
  88. break;
  89. case 38:
  90. break;
  91. case 40:
  92. break;
  93. // case 24:
  94. // alert('24')
  95. // break;
  96. // case 25:
  97. // alert('25')
  98. // break;
  99. // case 4:
  100. // alert('4')
  101. // case 19:
  102. // alert('19')
  103. // case 20:
  104. // alert('20')
  105. // case 21:
  106. // alert('21')
  107. // case 22:
  108. // alert('22')
  109. // case 23:
  110. // alert('23')
  111. break;
  112. default:
  113. break;
  114. }
  115. },
  116. onEnterPress: function() {
  117. alert(12321);
  118. },
  119. onBack: function() {
  120. }
  121. });