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

    クラス ScrollArea

    中身がはみ出した分を、ドラッグとホイールで送れるようにする(src/ui/clip.tsのように、既にある 表示物へ振る舞いを足す道具)。

    中身は持ちません。 送るのは渡された1つの表示物の位置だけで、その中に何をどう並べるかは 呼び出し側が決めます——1行に並べるレーンも、折り返して積む一覧も、これに乗ります。

    ドラッグは始めた時点を基準に測ります(beginDrag→dragTo)。カードの上から始めたドラッグを 途中から送りに変える場合も、外から同じ2つを呼べば同じように動きます(CardDragController)。

    インデックス
    axis: "x" | "y"
    content: Container
    contentPositionAtScrollZero: number

    送り量0のときの中身の位置(座標)。

    dragStart: number = 0

    ドラッグを始めた時点の送り量。

    minOffset: number = 0

    送れる下限(中身が可視域に収まるなら0)。送りは0(先頭)から下限までの負の値。

    onScroll: ((offset: number) => void) | undefined
    readout: ScrollReadout | undefined
    scrollBeganAt: number | undefined

    今のドラッグが送りに変わった時点の移動量(まだ変わっていなければundefined)。

    unclip: (() => void) | undefined
    viewportLength: number
    • get offset(): number

      今の送り量(0が先頭、送るほど負)。

      戻り値 number

    • ドラッグの始まり(今の送り量を基準として憶える)。

      戻り値 void

    • 面の上のドラッグ。ぶれと見分けられるだけ動くまで送らず、動き出した時点でその押下のタップを 取り消す(面には中身そのものも挙がるため、inputSurfaces参照)。送り始めはその時点を0として 測る——見分けに使った距離のぶん中身が飛ぶと、押しただけのつもりの指で並びが動いて見える。

      パラメータ

      • surface: GameObject
      • distanceFromDown: number

      戻り値 void

    • beginDragの時点から測ったポインタの移動量(増分ではなく累積)を、送り量へ反映する。

      パラメータ

      • distanceFromDragStart: number

      戻り値 void

    • 送り量を可動範囲へ収めて反映する。

      パラメータ

      • offset: number

      戻り値 void

    • 中身の長さを知らせる(送れる範囲を引き直す)。並びが変わるたびに呼ぶ。 送り過ぎになっていれば、その場で範囲へ収める。

      パラメータ

      • length: number

      戻り値 void