obj v0005 g_scoreObj - cwtickle/danoniplus GitHub Wiki

← オブジェクトリファレンスに戻る

g_scoreObj

概要

譜面に関連するオブジェクト。譜面データに依存するプロパティを格納する。

g_scoreObj.arrowData[0]; // 1レーン目の矢印フレームリスト
g_scoreObj.frameNum;     // 現在のフレーム番号

生成タイミング

  • titleInit : タイトル画面のモーション管理用プロパティを設定
  • scoreConvert : ロード画面で呼ばれ、譜面データを解析して格納
  • loadingScoreInit / mainInit : プレイ開始前に追加設定
  • resultInit : リザルト画面のモーション管理用プロパティを設定

補足

主に使用する画面として分類しているが、他の画面でも参照する場合がある。


プロパティ

タイトル画面

titleInit で初期化、drawTitleResultMotion で更新)

  • titleFrameNum (number) — タイトル画面全体のフレームカウンタ
  • backTitleFrameNum (number) — 背景モーション(back)のフレームカウンタ
  • maskTitleFrameNum (number) — マスクモーション(mask)のフレームカウンタ
  • styleTitleFrameNum (number) — スキン変更(style)のフレームカウンタ
  • backTitleLoopCount (number) — 背景の [jump] キーワードによるループ回数
  • maskTitleLoopCount (number) — マスクの [jump] ループ回数
  • styleTitleLoopCount (number) — スキン変更の [jump] ループ回数

ロード画面

scoreConvert の戻り値として生成。g_scoreObj = scoreConvert(...) で一括代入)

矢印・フリーズアローデータ

  • arrowData (array2) — レーン別の通常矢印フレーム数リスト。arrowData[j]j 番レーンの矢印フレーム配列
  • frzData (array2) — レーン別のフリーズアロー(始点・終点の交互配列)。frzData[j][0] が始点、[1] が終点(以降2つで1セット)
  • dummyArrowData (array2) — ダミー矢印(dummyId 指定時)
  • dummyFrzData (array2) — ダミーフリーズアロー
// 0番レーンの矢印フレーム数を参照
g_scoreObj.arrowData[0]; // → [300, 360, 420, ...]

// 0番レーンのフリーズアロー(始点420フレーム、終点540フレーム)
g_scoreObj.frzData[0]; // → [420, 540, ...]

速度変化データ

  • speedData (array) — 速度変化データ([フレーム, 速度, フレーム, 速度, ...] の交互配列)
  • boostData (array) — 個別加速データ(同構造)

色変化データ

  • colorData (array) — 矢印色変化データ。color_dataacolor_data(全体色変化)をマージ・ソート済み
  • dummyColorData (array) — ダミー矢印の色変化データ
  • ncolorData (object) — 色変化データ(新形式 ncolor_data)。キーは変化対象種別ごとのフラット配列
// ncolorDataの構造(対象種別ごとに[フレーム, 対象番号, カラーコード, 全体色変化フラグ, 種別]を並べたフラット配列)
g_scoreObj.ncolorData = {
    Arrow: [フレーム, 対象番号, カラーコード, 全体色変化フラグ, 'Arrow', ...],
    ArrowShadow: [...],
    Normal: [...],    // フリーズアロー通常矢印部
    NormalBar: [...], // フリーズアロー帯部
    NormalShadow: [...],
    Hit: [...],       // フリーズアローヒット時矢印部
    HitBar: [...],
    HitShadow: [...],
};
  • ncolorDummyData (object) — ダミー用色変化データ(ncolorData と同構造)

矢印モーションデータ

  • arrowCssMotionData (array) — 矢印モーションデータ([フレーム, 対象番号, モーション名(通常), モーション名(リバース), movLock, initManual, ...] のフラット配列)
  • frzCssMotionData (array) — フリーズアローモーションデータ(同構造)
  • dummyArrowCssMotionData (array) — ダミー矢印モーションデータ
  • dummyFrzCssMotionData (array) — ダミーフリーズアローモーションデータ

スクロール変化データ

  • scrollchData (array) — スクロール変化データ([矢印基準フレーム, 対象番号, ステップゾーン基準フレーム, スクロール方向, レイヤーグループ, レイヤーTrans, ...] のフラット配列)

歌詞データ

  • wordData (array) — 歌詞表示データ(フレーム番号をキーとする配列)
  • wordMaxDepth (number) — 使用する最大歌詞階層番号(-1 の場合は歌詞なし)

背景・マスク・スキン変更データ(メイン画面用)

  • backData (array2) — 背景モーションデータ(フレーム別)
  • backMaxDepth (number) — 使用する背景の最大深度(-1 の場合はデータなし)
  • maskData (array2) — マスクモーションデータ
  • maskMaxDepth (number) — 使用するマスクの最大深度
  • styleData (array2) — スキン変更データ(CSSカスタムプロパティ切替)
  • styleMaxDepth (number) — スキン変更の最大深度(データがある場合は常に 1

キー変化データ

  • keychFrames (array) — キー変化のフレーム数リスト(先頭は必ず 0 を持つ)
  • keychTarget (array2) — フレーム別の表示対象キーグループリスト
  • keychTargetAlpha (array2) — フレーム別の表示対象グループごとの透明度リスト
// 300フレーム目に0番グループを透明度1.0で表示し、1番グループを非表示にする例
g_scoreObj.keychFrames; // → [0, 300, ...]
g_scoreObj.keychTarget[1]; // → ['0']
g_scoreObj.keychTargetAlpha[1]; // → [1]

矢印移動距離

  • distY (number) — 矢印がステップゾーンに到達するまでの移動距離(px)。stretchYRate および Motionオプション適用済みの値

メイン画面

loadingScoreInit / mainInit で設定。flowTimeline で更新)

  • frameNum (number) — 現在のフレーム番号。フェードイン開始フレーム(getStartFrame の返値)から開始し、毎フレームインクリメント
  • baseFrame (number) — 表示用フレーム番号(frameNum から intAdjustment を引いた値。デバッグ表示 lblframe に使用)
  • fadeOutFrame (number) — フェードアウト開始フレーム。fadeFrame 未指定時は Infinity
  • fadeOutTerm (number) — フェードアウトにかけるフレーム数(デフォルト: C_FRM_AFTERFADE
  • fullFrame (number) — 曲の総フレーム数。frameNum がこの値に達すると曲終了処理へ移行
// フレーム番号の使い方
const currentFrame = g_scoreObj.frameNum;

// 矢印データや背景データはこのフレームをキーとして参照する
g_scoreObj.backData[currentFrame]; // → 該当フレームの背景データ配列

リザルト画面

resultInit で初期化、drawTitleResultMotion で更新)

  • resultFrameNum (number) — リザルト画面全体のフレームカウンタ
  • backResultFrameNum (number) — 背景モーションのフレームカウンタ
  • maskResultFrameNum (number) — マスクモーションのフレームカウンタ
  • styleResultFrameNum (number) — スキン変更モーションのフレームカウンタ
  • backResultLoopCount (number) — 背景の [jump] ループ回数
  • maskResultLoopCount (number) — マスクの [jump] ループ回数
  • styleResultLoopCount (number) — スキン変更の [jump] ループ回数