Skip to content

実装状況・既知の制約 ​

確認基準:2026-10-12、develop-dxlib、08f9fa53fa5e9043d46aeede8e7aab7bab519892。以下は静的なコード確認で、実機の再現試験結果ではありません。

実装を確認した機能 ​

GameObjectとComponentの管理、矩形・円・矩形対タイルの衝突、マスクと接触イベント、タイルマップ、追従カメラ、シーンコマンド、ローディング、画像・分割画像、アニメーション、音声再生、ボタン、JSON/CSV、メモリマップファイルがあります。

未対応・未確認 ​

項目状態
円対タイルVisitが空実装で未対応
多角形コライダーPOLY列挙値はあるが対応クラスを確認できず
SDL・ImGui・FMOD調査対象ブランチでは未導入
別ジャンルの完成サンプル未提供。共通機能を応用する位置付け
学校への提供実績未確認。教材化の目的として記載
C++ビルド・全実習の実行今回の文書整備では未実施

利用上の制約 ​

  • 対象はWindows、x64・v143。Win32は本ガイドの対象外です。
  • setup.batのnlohmann/json取得版が固定されていません。
  • 起動時のresourcesコピーはソースのフォルダー配置に依存します。
  • 同型Componentは1登録枠で、更新順は追加順ではありません。
  • GameObject/Component/アセットの借用ポインタを所有者より長く保持しないでください。
  • MapはLoadingContextの存在が前提です。タスクはRun前に登録します。
  • Loadingは同一インスタンスの再実行を前提としません。100%進捗は成功保証ではありません。
  • コライダー全体のStepは二重ループです。大量オブジェクトでの性能保証はありません。
  • 同一カテゴリのコライダー削除は他コライダーのマスク・イベントへ影響する実装です。複数個体への拡張時に確認が必要です。
  • Filterは形状ごとにownerIDをOR結合する一方、HasMaskは完全一致検索です。複数タグを合成したマスクの動作は要確認です。
  • 唯一のシーンをCmdPopすると空スタックの扱いに問題があります。終了はCmdQuitを使います。

静的確認で見つかった要確認箇所 ​

箇所観察内容
MoveWithKey::UpdateYの移動計算にm_moveSpeed.xを使用
ColliderVisitor::HandleContact「どちらかがtriggerなら押し戻さない」というコメントに対して条件がOR
Animator::EnableAnim実装は非表示化。命名と意味が逆に見える
Animator::UpdateONCEの停止制御がなく、PINGPONGではendFrameの添字に注意が必要
AnimatorのGetAnim使用値で返す一時オブジェクトから参照を受ける箇所があり、コンパイル・寿命の確認が必要
LoadingSceneの待ち時間staticなelapsedが複数回の遷移で共有されるため再訪時の待ち時間は要確認
Sound/AudioSourceBGMはLoadBGM経路、再生・削除はSoundMem系。BGM_ONCEもループ経路へ入る
JsonIO::Write拡張子補完が一時文字列への変更。明示的に.jsonを指定する
CSV空セルを省略。引用符対応や数値末尾検証を前提にしない

これらは文書制作に伴う調査メモです。ゲームコードの修正はこの文書変更に含めていません。改善時は再現条件と期待結果を記録し、文書の基準コミットも更新してください。

根拠:全モジュール索引、PR #35

コード確認基準:08f9fa53 · C++実機検証は別途実施