ZhangXianQiang
2024-04-17 7d8fabb5feddf7d2daffd2452781c515d2eb13cd
src/views/screen/components/screen-map-three/experience/index.js
New file
@@ -0,0 +1,45 @@
import { Scene, GridHelper,AxesHelper } from 'three';
import Stats from "three/examples/jsm/libs/stats.module";
import World from "./world/world";
import Camera from "./camera";
import Renderer from "./renderer";
// 工具类
import Sizes from "./utils/sizes";
import Time from "./utils/time";
export default class Experience {
  constructor(canvas) {
    this.canvas = canvas;
    this.sizes = new Sizes();
    this.time = new Time();
    this.scene = new Scene();
    this.camera = new Camera(this);
    this.renderer = new Renderer(this);
    this.world = new World(this);
    // const size = 200;
    // const divisions = 200;
    // const gridHelper = new GridHelper(size, divisions);
    // this.scene.add(gridHelper);
    this.stats = new Stats();
    document.querySelector('.map-container').appendChild(this.stats.dom);
    // 帧
    this.time.on('tick', () => {
      this.update();
    });
  }
  update() {
    this.camera.update();
    this.world.update();
    this.renderer.update();
    this.stats.update();
  }
}