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_dataとacolor_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]ループ回数