======================================================================== HUD・UI仕様 (HUD & UI Specification) ======================================================================== 1. ゲーム画面レイアウト (Game Screen Layout) ------------------------------------------------------------------------ 1-1. レイヤー構成 ゲーム画面は以下の3レイヤーで構成される(下から順). 1. PixiJS描画レイヤー: マップ・プレイヤー・ボム・ハリケーンの描画 2. HUDレイヤー: タイマー・HP・塗り率・ミニマップの表示 3. 入力レイヤー: ジョイスティック・ボムボタンのタッチ入力 1-2. 配置 ・左上: タイマー ・左側: HPゲージ ・右上: ミニマップ + チーム塗り率パネル ・左側(入力): ジョイスティック ・右側(入力): ボムボタン ・中央: カウントダウン・通知テキスト 2. タイマー (Timer) ------------------------------------------------------------------------ 2-1. 表示仕様 ・位置: 画面左上 ・形式: MM:SS(分:秒) ・通常時: 白色で表示する 2-2. 残り時間による表示変化 ・残り30秒以下: 文字色が濃い赤(#8B0000)に変わる ・残り10秒以下: 1秒間隔で点滅する(opacity 1 ↔ 0.35) 3. HPゲージ (HP Gauge) ------------------------------------------------------------------------ 3-1. 表示仕様 ・位置: 画面左側 ・形式: 「HP: 」に続いてハートアイコンで被弾状況を表示する ・ハート表示: リスポーンまでの残り被弾可能回数をハートで示す - 被弾していないハート: 塗りつぶしハート - 被弾済みハート: 空ハート ・最大表示数: 5個(PLAYER_RESPAWN_HIT_COUNT に対応) 4. チーム塗り率パネル (Team Paint Rate Panel) ------------------------------------------------------------------------ 4-1. 表示仕様 ・位置: 画面右上(ミニマップの右隣) ・表示内容: 4チーム分の塗り面積率(%)をチームカラーの四角アイコン付きで表示する ・形式: 「■ XX%」(■はチームカラー,XXは小数点以下切り捨ての整数) 4-2. 残り時間による表示変化 ・残り30秒以下: 全チームの塗り率が「???%」に置き換わり,非表示になる 5. ミニマップ (Mini Map) ------------------------------------------------------------------------ 5-1. 表示仕様 ・位置: 画面右上 ・表示方式: Canvas要素によるリアルタイム描画 ・表示内容: - フィールド全体の塗り状況(チームカラーで色分け) - 自プレイヤーの現在位置(マーカー表示) ・トグル: タップで開閉を切り替えられる 6. ジョイスティック (Joystick) ------------------------------------------------------------------------ 6-1. 表示仕様 ・位置: 画面左側の入力領域 ・表示: タッチ開始時にジョイスティックのベースとノブが表示される ・ベース: 半透明の円形背景 ・ノブ: 指の位置に追従する小さな円 6-2. 操作仕様 ・タッチ開始: 指を置いた位置にジョイスティックが出現する ・ドラッグ: 指の移動方向と距離に応じて移動入力ベクトルが決定される ・ベクトル正規化: 入力ベクトルの長さが1.0を超える場合は1.0に正規化する ・タッチ終了: ジョイスティックが非表示になり,移動入力がゼロになる 7. ボムボタン (Bomb Button) ------------------------------------------------------------------------ 7-1. 表示仕様 ・位置: 画面右側の入力領域 ・表示: ボムアイコン付きの円形ボタン ・クールダウンリング: ボタン外周にクールダウンの残り時間をリング状に表示する - クールダウン中: リングが徐々に減っていく - クールダウン完了: リングが消え,ボタンが活性化する 7-2. 操作仕様 ・タップ: ボムを現在地に設置する ・クールダウン中: ボタンは非活性状態でタップしても反応しない ・クールダウン時間: - 通常時: 4000ms - フィーバータイム時: 2000ms 8. 開始カウントダウン (Start Countdown) ------------------------------------------------------------------------ 8-1. 表示仕様 ・位置: 画面中央 ・表示: ゲーム開始前のカウントダウン数字(3,2,1)を大きく表示する ・ゲーム開始後: 自動的に非表示になる 9. 通知テキスト (Notification Text) ------------------------------------------------------------------------ 9-1. フィーバータイム通知 ・表示条件: ゲーム残り時間がちょうど60秒の時点で表示する ・表示内容: 「!Fever Tieme!」 ・位置: 画面中央 ・演出: パルスアニメーション(拡大縮小)で表示する 9-2. ハリケーン警告 ・表示条件: ハリケーン出現時(残り120秒の時点)に表示する ・表示内容: 「WARNING:ハリケーン出現」 ・位置: 画面中央 ・演出: 点滅アニメーションで表示する 10. PixiJS描画要素 (PixiJS Rendered Elements) ------------------------------------------------------------------------ 10-1. マップ ・各セルをチームカラーで塗りつぶした矩形で描画する ・未塗装セルは既定の背景色で表示する ・ビューポートカリング: 画面外のセルは描画をスキップする 10-2. プレイヤー ・スプライト画像で描画する ・名前テキストをスプライト上部に表示する ・被弾時: 点滅エフェクトを表示する ・リスポーン時: 爆発エフェクトを表示する 10-3. ボム ・スプライト画像で描画する ・爆発時: 円形の爆発エフェクトをチームカラーで表示する 10-4. ハリケーン ・SVGベースのオーバーレイで描画する ・回転アニメーション付きで表示する