obj v0027 g_workObj - cwtickle/danoniplus GitHub Wiki
g_workObj
概要
主にプレイ画面中に使われるオブジェクト。
生成タイミング
主にロード画面(loadingScoreInit)および getArrowSettings・mainInit で定義される。設定画面や譜面ヘッダーの値をプレイ画面で扱いやすい形に加工した変数が多い。
プロパティ
Motionオプション:矢印別速度配列
(loadingScoreInit で設定)
- motionOnFrames (array) — Motionオプション適用時の矢印別フレーム速度
- motionReverseFlg (boolean) — Motion適用時に逆走が発生するかどうか
ライフゲージ設定値
(loadingScoreInit → calcLifeVals で設定)
- 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)
- mkDummyFColorNormal 〜 mkDummyFColorHitShadow + 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) — ヒット時影部
フリーズアロー(ダミー):
- dummyFrzNormalColors 〜 dummyFrzHitShadowColorsAll — 上記と同様の構造
レーン別モーション保持情報
- arrowCssMotions (array) — 現在レーン別に設定中の矢印CSSモーション名
- arrowMovLock (array) — レーン別の移動ロックフラグ
- arrowInitManual (array) — レーン別の初期位置マニュアルフラグ
- frzCssMotions (array) — フリーズアロー(帯・全体)のCSSモーション名
- frzArrowCssMotions (array) — フリーズアロー(矢印部のみ)のCSSモーション名
- frzMovLock (array)
- frzInitManual (array)
- dummyArrowCssMotions / dummyArrowMovLock / dummyArrowInitManual (array)
- dummyFrzArrowCssMotions (array)
Display系表示状態
(getArrowSettings → mainInit で設定。'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算出に使用)