リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 合体ドロップ
プレイ中の誤タブクローズ・戻る操作を防ぐ離脱確認の追加
1. 目的:
プレイ中に誤ってブラウザの戻る/タブを閉じる/リロードをしてしまい、進行中のスコアや進化状況を失うケースを防ぐ。現在はポーズ時のタブ切替は自動ポーズされるが、タブそのものを閉じる・ブラウザバック・リロードに対する警告は無く、せっかく積み上げた進化チェーンやスコアを一瞬で失ってユーザー体験を損なう可能性がある。
2. 具体的な仕様:
- play.php のゲームロジックに `beforeunload` イベントリスナーを追加する。
- リスナーは「ゲームが進行中(スタート画面/ポーズ画面/ゲームオーバー画面のいずれでもない状態、かつ既に落下操作が1回以上行われている)」の間だけ有効化する。既存のゲーム状態管理変数(スタート済みフラグ、ポーズフラグ、ゲームオーバーフラグに相当するもの)を利用して判定する。
- 有効時は `event.preventDefault(); event.returnValue = '';` を設定し、ブラウザ標準の確認ダイアログ(「このページを離れますか?」等)を表示する。
- 以下のタイミングでリスナーを解除(無効化)する:
- 一時停止(ポーズ)画面を表示した時
- ゲームオーバー画面に遷移した時
- タイトルへ戻るボタン押下時
- スコア送信完了時
- ページ初回読み込み時(スタート画面表示中)は登録しない。
- スマホブラウザでは `beforeunload` の確認ダイアログが表示されない/簡略化される場合があるが、それは既存のブラウザ制約であり実装側で追加対応は不要とする。
3. 既存機能との整合:
- 既存のポーズ処理(タブ切替時の自動ポーズ、Wake Lock解除処理)、ゲームオーバー処理、スコア送信処理、リトライキューには変更を加えない。
- 追加するのは `beforeunload` イベントの登録/解除のみで、既存のcanvas描画・入力処理・APIエンドポイントには影響しない。
- PC・スマホ両対応(スマホでは効果が限定的でも副作用なし)。
- localStorage・DBスキーマの変更は不要。
プレイ中に誤ってブラウザの戻る/タブを閉じる/リロードをしてしまい、進行中のスコアや進化状況を失うケースを防ぐ。現在はポーズ時のタブ切替は自動ポーズされるが、タブそのものを閉じる・ブラウザバック・リロードに対する警告は無く、せっかく積み上げた進化チェーンやスコアを一瞬で失ってユーザー体験を損なう可能性がある。
2. 具体的な仕様:
- play.php のゲームロジックに `beforeunload` イベントリスナーを追加する。
- リスナーは「ゲームが進行中(スタート画面/ポーズ画面/ゲームオーバー画面のいずれでもない状態、かつ既に落下操作が1回以上行われている)」の間だけ有効化する。既存のゲーム状態管理変数(スタート済みフラグ、ポーズフラグ、ゲームオーバーフラグに相当するもの)を利用して判定する。
- 有効時は `event.preventDefault(); event.returnValue = '';` を設定し、ブラウザ標準の確認ダイアログ(「このページを離れますか?」等)を表示する。
- 以下のタイミングでリスナーを解除(無効化)する:
- 一時停止(ポーズ)画面を表示した時
- ゲームオーバー画面に遷移した時
- タイトルへ戻るボタン押下時
- スコア送信完了時
- ページ初回読み込み時(スタート画面表示中)は登録しない。
- スマホブラウザでは `beforeunload` の確認ダイアログが表示されない/簡略化される場合があるが、それは既存のブラウザ制約であり実装側で追加対応は不要とする。
3. 既存機能との整合:
- 既存のポーズ処理(タブ切替時の自動ポーズ、Wake Lock解除処理)、ゲームオーバー処理、スコア送信処理、リトライキューには変更を加えない。
- 追加するのは `beforeunload` イベントの登録/解除のみで、既存のcanvas描画・入力処理・APIエンドポイントには影響しない。
- PC・スマホ両対応(スマホでは効果が限定的でも副作用なし)。
- localStorage・DBスキーマの変更は不要。
💬 返信 (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