リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 合体ドロップ
プレイ中の一時停止(ポーズ)機能の追加
1. 目的:
現在プレイ中は⏩速度切替・🎵BGM・🔊効果音のトグルのみで、ゲームを一時中断する手段がない。スマホでは着信・通知・他アプリ切替などで不意にプレイが中断されがちで、その間も落下アイテムが進行しゲームオーバーになりやすい。ポーズ機能を追加し、中断時のストレスを減らしてリテンションを高める。
2. 具体的な仕様:
- game-topbar 内の既存コントロール群 (⏩speed-toggle / 🎵bgm-toggle / 🔊sound-toggle) の左側に「⏸」ポーズボタンを追加 (id="pause-toggle"、他ボタンと同じ min-width/min-height/フォントサイズで統一)。
- タップ/クリックで一時停止状態にトグル。
- 一時停止時: メインの requestAnimationFrame ループの物理更新・当たり判定・タイマー加算を止める (描画ループ自体は停止 or 最終フレームを維持)。
- Canvas 全体に半透明オーバーレイ (rgba(31,45,36,0.7)) を重ね、中央に「⏸ 一時停止中 / PAUSED」テキストと「▶ 再開する / Resume」ボタンを表示。
- BGM は一時停止中のみミュート (既存の bgm ミュート状態とは別フラグで管理し、再開時に元のミュート設定に復元)。
- ポーズ中は Canvas のクリック/タッチでアイテムを落とせないようにする (pointer イベントを無視、またはオーバーレイが最前面でクリックを吸収)。
- プレイ時間(duration_sec)のカウントは一時停止中は加算を止め、実プレイ時間のみ計測されるようにする。
- NEXT枠のプレビューやコンボ表示のタイマーも一時停止中は進行しないようにする。
- 再開時は「▶ 再開する」ボタン、またはポーズボタン自体の再タップで元の状態に戻る。
- タイトル画面・ゲームオーバー画面ではポーズボタンは非表示 (プレイ中のみ表示、既存の next-panel と同様の hidden 制御)。
3. 既存機能との整合:
- スコア計算・ランキング送信・自己ベスト判定・図鑑アンロック・コンボ検出ロジックには手を加えず、既存の requestAnimationFrame ループの「更新処理の呼び出し」を一時停止フラグでスキップするだけの追加。
- 既存の speed/BGM/SFXトグルの状態管理・localStorage キーは変更しない。ポーズ状態自体は localStorage に保存せず、ページリロードでリセットされる一時的な状態として扱う。
- CSS/JS の追加のみで、DBスキーマ・API・多言語辞書 (t() 関数) への 'pause' / '一時停止' キー追加程度で完結し、既存の画面遷移や送信フローには影響しない。
現在プレイ中は⏩速度切替・🎵BGM・🔊効果音のトグルのみで、ゲームを一時中断する手段がない。スマホでは着信・通知・他アプリ切替などで不意にプレイが中断されがちで、その間も落下アイテムが進行しゲームオーバーになりやすい。ポーズ機能を追加し、中断時のストレスを減らしてリテンションを高める。
2. 具体的な仕様:
- game-topbar 内の既存コントロール群 (⏩speed-toggle / 🎵bgm-toggle / 🔊sound-toggle) の左側に「⏸」ポーズボタンを追加 (id="pause-toggle"、他ボタンと同じ min-width/min-height/フォントサイズで統一)。
- タップ/クリックで一時停止状態にトグル。
- 一時停止時: メインの requestAnimationFrame ループの物理更新・当たり判定・タイマー加算を止める (描画ループ自体は停止 or 最終フレームを維持)。
- Canvas 全体に半透明オーバーレイ (rgba(31,45,36,0.7)) を重ね、中央に「⏸ 一時停止中 / PAUSED」テキストと「▶ 再開する / Resume」ボタンを表示。
- BGM は一時停止中のみミュート (既存の bgm ミュート状態とは別フラグで管理し、再開時に元のミュート設定に復元)。
- ポーズ中は Canvas のクリック/タッチでアイテムを落とせないようにする (pointer イベントを無視、またはオーバーレイが最前面でクリックを吸収)。
- プレイ時間(duration_sec)のカウントは一時停止中は加算を止め、実プレイ時間のみ計測されるようにする。
- NEXT枠のプレビューやコンボ表示のタイマーも一時停止中は進行しないようにする。
- 再開時は「▶ 再開する」ボタン、またはポーズボタン自体の再タップで元の状態に戻る。
- タイトル画面・ゲームオーバー画面ではポーズボタンは非表示 (プレイ中のみ表示、既存の next-panel と同様の hidden 制御)。
3. 既存機能との整合:
- スコア計算・ランキング送信・自己ベスト判定・図鑑アンロック・コンボ検出ロジックには手を加えず、既存の requestAnimationFrame ループの「更新処理の呼び出し」を一時停止フラグでスキップするだけの追加。
- 既存の speed/BGM/SFXトグルの状態管理・localStorage キーは変更しない。ポーズ状態自体は localStorage に保存せず、ページリロードでリセットされる一時的な状態として扱う。
- CSS/JS の追加のみで、DBスキーマ・API・多言語辞書 (t() 関数) への 'pause' / '一時停止' キー追加程度で完結し、既存の画面遷移や送信フローには影響しない。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (vegetable-drop))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「合体ドロップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
ご要望いただいた「合体ドロップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
Echo
Iris