UnmappedIsland ソースリファレンス - v0.1.0
    検索インデックスを準備しています...

    クラス WeatherOverlay

    フィールドエリアへ降らせる雨(ScreenLayout.md 7.5節 空の演出)。見え方はrainStyle.tsが決め、 こちらは「その通りに降らせる」ことだけを行う。

    入力は遮らない(下のカードをそのまま操作できる)。常にカードより手前・隣接エリアより奥へ置く 必要があるため、depthは置く側が与える(PlayScene参照)。

    フィルタを使わない。 フィルタを掛けた表示物は一度画面サイズの描画バッファへ描かれるため、 4Kでは1枚31MB・実測で221MBを占めていた。雨は敷き詰めた絵(TileSprite)が自分の矩形の外へ 描かないことを使って収める。

    階層

    • Container
      • WeatherOverlay
    インデックス
    layers: TileSprite[] = []
    metrics: ScreenMetrics
    rect: Rect
    style: RainStyle | undefined

    今降らせている雨の見え方。undefinedなら降っていない。差が無ければ作り直さない。

    textureKeys: string[] = []
    tweens: Tween[] = []
    • 同じ向き・同じ速さで落ちる筋を1層ぶん足す。

      敷き詰めた絵を縦横それぞれ1周ぶん送り、送り終えたら最初へ戻す。絵は継ぎ目なく繋がるので、 戻った瞬間も見た目は変わらない。縦横の周期を別々に取ることで、絵の縦横比によらず、 落ちる向きを筋の傾きへ合わせられる。

      パラメータ

      戻り値 void

    • 敷き詰める絵を1枚描く。上下左右で繋がるように、同じ筋を隣の位置にも描く(端をまたぐ筋が 反対側へ続く)。countは絵1枚に描く本数(層の見えている本数ではない)。描けなければfalse。

      パラメータ

      • key: string
      • count: number
      • slant: number
      • layer: RainLayer

      戻り値 boolean

    • 今の天気に合わせて降らせ直す。雨の降らない天気にすると消える。

      パラメータ

      • weather: string | undefined

      戻り値 void