a3js API Documentation - v0.0.34
    Preparing search index...

    Interface ViewBase

    Viewに必須な機能だけを実装したクラス。 これを拡張して新しい表示クラスを作っても良い。 CanvasなどはHTMLElementのサブクラスとして実装 しないといけないので、このViewBaseのインスタンスを プロパティに保存してラッパーとして実装している。

    interface ViewBase {
        camera: Camera;
        controller: Controller;
        scene: Scene;
        cameraToScreen(loc: Vec3): { x: number; y: number };
        replaceScene(newScene: Scene): Scene;
        screenToCamera(x: number, y: number, depth: number): Vec3;
        screenToWorld(x: number, y: number, depth: number): Vec3;
        setController(controller: Controller): void;
        updateScene(dt: number): void;
        waitForRender(): Promise<number>;
        worldToScreen(loc: Vec3): { x: number; y: number };
    }

    Implements

    Index

    Properties

    camera: Camera
    controller: Controller
    scene: Scene

    Methods

    • ViewBaseはcameraToScreen()を実装することは不可能なので、 サブクラスで必ずオーバーライドして自分で実装して下さい。 ViewBaseをラップして使っている場合も同様です。

      Parameters

      Returns { x: number; y: number }

    • ViewBaseはscreenToCamera()を実装することは不可能なので、 サブクラスで必ずオーバーライドして自分で実装して下さい。 ViewBaseをラップして使っている場合も同様です。

      Parameters

      • x: number
      • y: number
      • depth: number

      Returns Vec3

    • ViewBaseはscreenToWorld()を実装することは不可能なので、 サブクラスで必ずオーバーライドして自分で実装して下さい。 ViewBaseをラップして使っている場合も同様です。

      Parameters

      • x: number
      • y: number
      • depth: number

      Returns Vec3

    • Returns Promise<number>

    • ViewBaseはworldToScreen()を実装することは不可能なので、 サブクラスで必ずオーバーライドして自分で実装して下さい。 ViewBaseをラップして使っている場合も同様です。

      Parameters

      Returns { x: number; y: number }