obj v0027 g_workObj - cwtickle/danoniplus GitHub Wiki

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

g_workObj

概要

主にプレイ画面中に使われるオブジェクト。

生成タイミング

主にロード画面(loadingScoreInit)および getArrowSettingsmainInit で定義される。設定画面や譜面ヘッダーの値をプレイ画面で扱いやすい形に加工した変数が多い。


プロパティ

Motionオプション:矢印別速度配列

loadingScoreInit で設定)

  • motionOnFrames (array) — Motionオプション適用時の矢印別フレーム速度
  • motionReverseFlg (boolean) — Motion適用時に逆走が発生するかどうか

ライフゲージ設定値

loadingScoreInitcalcLifeVals で設定)

  • lifeRcv (float) — 回復量(lifeVariable=ON 時は矢印数換算済みの値)
  • lifeDmg (float) — ダメージ量(同上)
  • lifeBorder (float) — クリアボーダー値(maxLifeVal 基準の絶対値)
  • lifeInit (float) — ライフ初期値(maxLifeVal 基準の絶対値)

フレーム別:矢印・フリーズアロー生成情報

pushArrows で設定。フレーム番号をキーとする配列)

  • mkArrow (array2) — 通常矢印の生成情報(出現フレーム → 属性オブジェクト配列)
  • mkFrzArrow (array2) — フリーズアローの生成情報
  • mkFrzLength (array2) — フリーズアローの長さ(レーン別)
  • mkDummyArrow (array2) — ダミー矢印の生成情報
  • mkDummyFrzArrow (array2) — ダミーフリーズアローの生成情報
  • mkDummyFrzLength (array2) — ダミーフリーズアローの長さ

フレーム別:色変化情報

pushArrows で設定。値が1000以上の場合は全体色変化を表し、1000を引いた値が対象矢印番号)

  • mkColor (array2) — 矢印色変化の対象矢印番号リスト
  • mkColorCd (array2) — 矢印色変化のカラーコードリスト
  • mkColorShadow (array2) — 影矢印色変化の対象矢印番号リスト
  • mkColorShadowCd (array2) — 影矢印色変化のカラーコードリスト
  • mkFColorNormal (array2) — フリーズアロー(通常矢印部)色変化の対象番号リスト
  • mkFColorNormalCd (array2) — 同カラーコード
  • mkFColorNormalBar (array2) — フリーズアロー(帯部)色変化の対象番号リスト
  • mkFColorNormalBarCd (array2) — 同カラーコード
  • mkFColorNormalShadow (array2) — フリーズアロー(通常影部)色変化の対象番号リスト
  • mkFColorNormalShadowCd (array2) — 同カラーコード
  • mkFColorHit (array2) — フリーズアロー(ヒット時矢印部)色変化の対象番号リスト
  • mkFColorHitCd (array2) — 同カラーコード
  • mkFColorHitBar (array2) — フリーズアロー(ヒット時帯部)色変化の対象番号リスト
  • mkFColorHitBarCd (array2) — 同カラーコード
  • mkFColorHitShadow (array2) — フリーズアロー(ヒット時影部)色変化の対象番号リスト
  • mkFColorHitShadowCd (array2) — 同カラーコード
  • mkDummyColor / mkDummyColorCd (array2) — ダミー矢印色変化(同様の構造)
  • mkDummyColorShadow / mkDummyColorShadowCd (array2)
  • mkDummyFColorNormalmkDummyFColorHitShadow + Cd (array2) — ダミーフリーズアロー色変化(同様の構造)
// 対象フレーム数のときに0, 1, 2番目の矢印を黄色に変更
g_workObj.mkColor[frame] = [0, 1, 2];
g_workObj.mkColorCd[frame] = [`#ffff99`, `#ffff99`, `#ffff99`];

// 全体色変化(1000以上の値 → 1000を引いた値が対象)
g_workObj.mkColor[frame2] = [1000, 1001, 1002];
g_workObj.mkColorCd[frame2] = [`#ffff99`, `#ffff99`, `#ffff99`];

フレーム別:全体色変化タイミングフラグ

(データが存在するフレームのみ true が入る)

  • mkArrowColorChangeAll (array) — 矢印の全体色変化タイミング
  • mkFrzColorChangeAll (array) — フリーズアローの全体色変化タイミング
  • mkDummyArrowColorChangeAll (array) — ダミー矢印の全体色変化タイミング
  • mkDummyFrzColorChangeAll (array) — ダミーフリーズアローの全体色変化タイミング

フレーム別:矢印モーション情報

  • mkArrowCssMotion (array2) — 矢印モーション対象レーン番号
  • mkArrowCssMotionName (array2) — 矢印モーション名(通常スクロール用・逆スクロール用の交互格納)
  • mkArrowMovLock (array2) — 矢印モーション適用時の移動ロックフラグ
  • mkArrowInitManual (array2) — 矢印モーション適用時の初期位置マニュアルフラグ
  • mkFrzCssMotion (array2) — フリーズアロー(帯・全体)モーション
  • mkFrzCssMotionName (array2)
  • mkFrzMovLock (array2)
  • mkFrzInitManual (array2)
  • mkDummyArrowCssMotion / Name / MovLock / InitManual (array2) — ダミー矢印の同様情報
  • mkDummyFrzCssMotion / Name / MovLock / InitManual (array2) — ダミーフリーズアローの同様情報

フレーム別:スクロール変化情報

  • mkScrollchArrow (array2) — スクロール変化の対象レーン番号(矢印生成基準)
  • mkScrollchArrowDir (array2) — スクロール変化後の方向(1 or -1)
  • mkScrollchArrowLayerGroup (array2) — スクロール変化後のレイヤーグループ番号
  • mkScrollchArrowLayerTrans (array2) — スクロール変化時のレイヤーTransition
  • mkScrollchStep (array2) — スクロール変化の対象レーン番号(ステップゾーン基準)
  • mkScrollchStepDir (array2)
  • mkScrollchStepLayerGroup (array2)
  • mkScrollchStepLayerTrans (array2)

フレーム別:速度変化情報

  • speedData (array) — フレーム別速度変化([フレーム, 速度, フレーム, 速度, ...] の偶数インデックス=フレーム、奇数=速度)
  • boostData (array) — フレーム別個別加速データ(同構造)

矢印出現位置の逆算情報

pushArrows で算出。主に内部計算用。getArrowSettings で削除される)

  • initY (array) — フレーム別の矢印初期Y座標
  • initBoostY (array) — フレーム別のMotion分初期Y加算量
  • arrivalFrame (array) — フレーム別のステップゾーン到達フレーム数
  • motionFrame (array) — フレーム別のMotion適用フレームカウンタ

キーパターン対応矢印番号の変換テーブル

  • replaceNums (array) — デフォルトキーパターン(0番)の矢印番号から、現在のキーパターンの矢印番号への変換テーブル

プレイ初期設定

getArrowSettings で設定)

  • scale (float) — 矢印群の表示倍率(keyObj.scale ベース)
  • stepX (array) — レーン別ステップゾーンのX座標(Swapping適用後)
  • stepX_df (array) — レーン別ステップゾーンのX座標(Swapping適用前・元位置)
  • scrollDir (array) — レーン別スクロール方向(1: 上向き, -1: 下向き)
  • scrollDirDefault (array) — スクロール変化前のデフォルト値
  • dividePos (array) — レーン別の属するレイヤー番号(StepArea/スクロール変化で変動)
  • dividePosDefault (array) — StepArea設定前のデフォルトレイヤー番号
  • stepRtn (array) — ステップゾーンの回転角度(Camoufrage/SideScrollで変動)
  • stepHitRtn (array) — ステップゾーンヒット時の回転角度(Camoufrage非対象)
  • arrowRtn (array) — 矢印本体の回転角度
  • frzArrowInitRtn (array) — フリーズアロー(初期表示)の矢印回転角度
  • keyCtrl (array2) — レーン別割り当てキーコード(keyObj.keyCtrl の参照コピー)
  • keyCtrlN (array2) — レーン別割り当てキーコード名(KeyboardEvent.code 形式)
  • keyHitFlg (array2) — レーン別・キー別の現在押下状態
  • keyGroupMaps (array2) — レーン別の所属キーグループ一覧
  • keyGroupList (array) — キーグループの重複排除リスト
  • shuffleGroupMap (object) — シャッフルグループ番号 → レーン番号配列のマッピング
  • orgFlatFlg (boolean) — 全レーンが同一の偶奇レイヤーに属するか(FlatBar判定用)
  • flatMode (boolean) — FlatBarモードが有効かどうか
  • hitPosition (number) — 判定位置のY方向補正値(AutoPlay時は0)
  • nonDefaultSc (boolean) — ショートカットキーがデフォルト値以外かどうか
  • backX (number) — ショートカット表示エリア分のX補正値
  • playingX (number) — プレイエリアの実際のX座標(playingX + backX

現在のレーン別色情報

getArrowSettings で初期設定。色変化により実行中に更新される)

矢印・フリーズアロー・ダミー矢印それぞれについて、個別色と全体色変化用の2種類を管理。

矢印(通常):

  • arrowColors (array) — 現在の矢印色(個別色変化対象)
  • arrowColorsAll (array) — 全体色変化後の矢印色
  • arrowShadowColors (array) — 現在の影矢印色
  • arrowShadowColorsAll (array) — 全体色変化後の影矢印色

矢印(ダミー):

  • dummyArrowColors / dummyArrowColorsAll (array) — ダミー矢印の色
  • dummyArrowShadowColors / dummyArrowShadowColorsAll (array) — ダミー矢印の影色

フリーズアロー(通常時・ヒット時・それぞれ矢印部/帯部/影部):

  • frzNormalColors / frzNormalColorsAll (array) — 通常矢印部
  • frzNormalBarColors / frzNormalBarColorsAll (array) — 帯部
  • frzNormalShadowColors / frzNormalShadowColorsAll (array) — 影部
  • frzHitColors / frzHitColorsAll (array) — ヒット時矢印部
  • frzHitBarColors / frzHitBarColorsAll (array) — ヒット時帯部
  • frzHitShadowColors / frzHitShadowColorsAll (array) — ヒット時影部

フリーズアロー(ダミー):

  • dummyFrzNormalColorsdummyFrzHitShadowColorsAll — 上記と同様の構造

レーン別モーション保持情報

  • arrowCssMotions (array) — 現在レーン別に設定中の矢印CSSモーション名
  • arrowMovLock (array) — レーン別の移動ロックフラグ
  • arrowInitManual (array) — レーン別の初期位置マニュアルフラグ
  • frzCssMotions (array) — フリーズアロー(帯・全体)のCSSモーション名
  • frzArrowCssMotions (array) — フリーズアロー(矢印部のみ)のCSSモーション名
  • frzMovLock (array)
  • frzInitManual (array)
  • dummyArrowCssMotions / dummyArrowMovLock / dummyArrowInitManual (array)
  • dummyFrzArrowCssMotions (array)

Display系表示状態

getArrowSettingsmainInit で設定。'inherit' または 'none'

  • stepzoneDisp (string) — ステップゾーンの表示状態
  • judgmentDisp (string) — 判定キャラクタの表示状態
  • fastslowDisp (string) — Fast/Slow表示の状態
  • lifegaugeDisp (string) — ライフゲージの表示状態
  • scoreDisp (string) — スコア・判定カウンタの表示状態
  • musicinfoDisp (string) — 曲情報の表示状態
  • filterlineDisp (string) — フィルターラインの表示状態
  • velocityDisp (string) — 速度変化表示の状態(内部用、実際のUI制御は d_velocity が行う)
  • colorDisp (string) — 色変化の状態(同上)
  • backgroundDisp (string) — 背景表示の状態(同上)
  • arroweffectDisp (string) — 矢印エフェクトの状態(同上)
  • specialDisp (string) — Special表示の状態(同上)

ライフゲージ動的値

  • lifeVal (float) — 現在のライフ量
  • currentLifeState (string) — 現在のライフ状態文字列('Max' / 'Cleared' / 'Failed' / ''
  • arrowReturnVal (number) — FrzReturn用の矢印回収カウンタ値(0〜99)

歌詞表示管理

mainInit で初期化)

  • fadeInNo (array) — 歌詞階層別のフェードインカウンタ
  • fadeOutNo (array) — 歌詞階層別のフェードアウトカウンタ
  • lastFadeFrame (array) — 歌詞階層別の最終フェード開始フレーム
  • wordFadeFrame (array) — 歌詞階層別のフェード継続フレーム数
  • wordNData (string) — 現在表示中の歌詞(N は階層番号。例: word0Data, word1Data

現在の速度

  • currentSpeed (float) — 現在フレームの速度(speedData により更新)

判定済み矢印カウンタ

mainInit で初期化。矢印の移動・判定処理で更新)

  • judgArrowCnt (array) — レーン別の判定済み通常矢印数
  • judgDummyArrowCnt (array) — レーン別の判定済みダミー矢印数
  • judgFrzCnt (array) — レーン別の判定済みフリーズアロー数
  • judgDummyFrzCnt (array) — レーン別の判定済みダミーフリーズアロー数
  • judgFrzHitCnt (array) — レーン別のフリーズアロー始点ヒット完了数

Shaking(画面揺れ)設定フラグ

  • drunkXFlg (boolean) — Drunk: X方向揺れ有無
  • drunkYFlg (boolean) — Drunk: Y方向揺れ有無
  • drunkAxisFlg (boolean) — Drunk: 移動軸揺れ有無
  • drunkRotateFlg (boolean) — Drunk: 回転軸揺れ有無

Appearance(見え方)管理

  • aprFilterCnt (number) — フィルターバー切り替え用カウンタ(Shift+PgUp/Dn操作で変動)

矢印モーション動作制御フラグ

  • movLockEnabled (boolean) — キー定義による移動ロック(movLockX ヘッダー起因)
  • initManualEnabled (boolean) — キー定義による初期位置マニュアル(initManualX ヘッダー起因)

FrzReturn関連

  • frzReturnFlg (boolean) — FrzReturnアニメーション実行中フラグ
  • frzReturnSeq (array2) — FrzReturnの移動シーケンス(ランダム選択された1パターン)
  • frzReturnTimerId (number|null) — FrzReturnのタイムアウトID

AutoRetry

  • autoRetryFlg (boolean) — AutoRetryによるリトライが予約済みかどうか

必要達成率(ゲージ設定情報)

  • requiredAccuracy (string) — 現在のゲージ設定で必要な達成率の文字列(例: "85.00%"。算出不能時は "----"

プレイ画面終了時刻

  • mainEndTime (number) — メイン画面終了時の performance.now() 値(リザルト画面のアニメーション起点に使用)

タイミング差分履歴

  • diffList (array) — プレイ中の全判定タイミング差分(フレーム数)の記録リスト(推定Adj算出に使用)