midorable
    Preparing search index...

    アプリケーション本体として機能するクラス

    アプリケーション起動時に1つ生成することを想定。 プラットフォーム層とのやり取りや、アプリケーション全体で共有するリソースの管理などを担当する。

    import { App } from '@rutan/midorable';
    import { createWebGlPlatform } from '@rutan/midorable-platform-browser';

    const app = new App({
    platform: await createWebGlPlatform({
    element: document.getElementById('app')!,
    }),
    width: 800,
    height: 600,
    fps: 60,
    backgroundColor: { r: 0, g: 0, b: 0, a: 1 },
    });

    app.start();
    Index

    Constructors

    Accessors

    • get filterCapabilities(): RenderFilterCapabilities | null

      対応するシェーダー言語の取得

      Returns RenderFilterCapabilities | null

      プラットフォームが対応しているシェーダー言語の情報を取得する。 シェーダーを利用する場合は、この情報をもとに適切な言語でシェーダーフィルターを作成する必要がある。

    • get height(): number

      アプリケーションの論理画面高さ

      Returns number

      初期化時に指定された高さ。 画面のリサイズなどで物理的な画面サイズが変わってもこの値は変わらない。

    • get width(): number

      アプリケーションの論理画面幅

      Returns number

      初期化時に指定された幅。 画面のリサイズなどで物理的な画面サイズが変わってもこの値は変わらない。

    Methods

    • ローダーを作成

      Returns Loader

      原則として Loader はこのメソッド経由で作成する必要がある。 App は内部で管理しているすべての Loader を保持しており、アプリケーション停止時にまとめて破棄する。

    • 空のテクスチャを作成

      Parameters

      • width: number

        テクスチャの幅

      • height: number

        テクスチャの高さ

      Returns Texture

      図形やテキストを描画するためのキャンバスとして利用できるテクスチャを作成する。 不要になったテクスチャは dispose() して破棄する必要がある。

      const texture = app.createTexture(256, 256);
      texture.drawRect({ x: 0, y: 0, width: 256, height: 256, color: { r: 255, g: 0, b: 0, a: 1 }, fill: true });
      const sprite = new Sprite({ context: app.context, texture });
      app.root.addChild(sprite);

      // 後でテクスチャが不要になったら破棄する
      texture.dispose();
    • アプリケーションを破棄する

      Returns Promise<void>

      アプリケーションで利用しているリソースをすべて解放し、プラットフォームとの接続も切る。 破棄後はこの App インスタンスは再利用できない。

    • プラットフォーム固有の機能を取得する

      Type Parameters

      Parameters

      • key: K

        取得したい機能のキー

      Returns PlatformFeatureRegistry[K] | undefined

      指定したキーに対応するプラットフォーム固有の機能、存在しない場合は undefined

      プラットフォームが提供する固有の機能を取得するためのメソッド。 複数のプラットフォームへの対応を見込んでいる場合は、必ずこのメソッドを経由して機能を取得するようにすること。

      // ストレージへの保存の例
      const storageFeature = app.getFeature('system.storage');
      if (storageFeature) {
      await storageFeature.setItem('key', 'value');
      } else {
      console.warn('Storage feature is not supported on this platform');
      }
    • 対応するメディア種別を取得

      Parameters

      Returns MediaSupportLevel

      プラットフォームが特定のメディア種別に対応しているかを確認するための機能。 音声や画像の出しわけなどに利用できる。

      const supportLevel = app.mediaQuery({ type: 'audio', mime: 'audio/ogg' });
      console.log(supportLevel); // 'supported', 'unsupported', or 'unknown'
    • 画面を描画する

      Returns void

      通常は start() を呼び出すことで自動的に呼び出されるため、アプリケーションコードで直接呼び出す必要はない。

    • アプリケーションのメインループを開始する

      Returns Promise<void>

      開始後は update() と render() が自動的に呼び出されるようになる。 stop() を呼び出すまでループは継続する。 すでに開始している場合は何もしない。

    • アプリケーションのメインループを停止する

      Returns Promise<void>

      停止後は update() と render() は呼び出されなくなる。 start() を呼び出すことで再度ループを開始することができる。 すでに停止している場合は何もしない。

    • アプリケーションの状態を更新する

      Returns void

      通常は start() を呼び出すことで自動的に呼び出されるため、アプリケーションコードで直接呼び出す必要はない。 ユーザーの入力状態の更新や、表示オブジェクトの更新などを行う。