-
Notifications
You must be signed in to change notification settings - Fork 0
srcs__player__player_cpp
Ishi_eenn edited this page May 19, 2026
·
2 revisions
カメラを持つプレイヤーの移動、飛行/重力、水中挙動、衝突判定、ブロック選択を処理する。
-
Player::init: 行 42-44 -
Player::overlapsAny: 行 55-77 -
Player::update: 行 86-268 -
Player::chunkPos: 行 271-276
- 場所: 行 42-44
- シグネチャ:
void Player::init(GLFWwindow* window) - 内容: 必要な状態や外部リソースを初期化する。
- 主な呼び出し:
init()
- 場所: 行 55-77
- シグネチャ:
bool Player::overlapsAny(float px, float py, float pz, const std::function<bool(int,int,int)>& isSolid) - 内容: このファイルの責務に沿った補助処理を行う。
- 主な呼び出し:
bool(),floor(),isSolid()
- 場所: 行 86-268
- シグネチャ:
void Player::update(float dt, const std::function<bool(int,int,int)>& isSolid, const std::function<bool(int,int,int)>& isWater) - 内容: 入力と現在の環境から移動量を計算し、飛行/水中/重力と衝突判定を反映してカメラ位置を更新する。
- 主な呼び出し:
bool(),newFrame(),glfwPollEvents(),isHeld(),fprintf(),isCursorCaptured(),mouseDX(),mouseDY(),setYaw(),getYaw()
手順:
- マウス移動量からカメラのyaw/pitchを更新する。
- キー入力から水平移動、ジャンプ、下降、飛行切り替えを判定する。
- 現在位置が水中かどうかを調べ、通常/水中/飛行で移動ルールを切り替える。
- 重力や垂直速度を更新する。
- X/Y/Z軸ごとに移動を試し、衝突する場合はその軸の移動を止める。
- 最終位置をカメラへ反映し、選択ブロックやリサイズ状態も更新する。
- 場所: 行 271-276
- シグネチャ:
ChunkPos Player::chunkPos() const - 内容: このファイルの責務に沿った補助処理を行う。
- 主な呼び出し:
chunkPos(),position(),floor()
ft_vox 仕様書
- Home
- 概要
- Core
- Player
- World
- Streaming
- Renderer
- srcs/renderer/frustum.cpp
- srcs/renderer/minimap.cpp
- srcs/renderer/renderer.cpp
- srcs/renderer/shader.cpp
- srcs/renderer/skybox.cpp
- srcs/renderer/texture_atlas.cpp
- srcs/renderer/title_screen.cpp
- srcs/renderer/frustum.hpp
- srcs/renderer/minimap.hpp
- srcs/renderer/renderer.hpp
- srcs/renderer/shader.hpp
- srcs/renderer/skybox.hpp
- srcs/renderer/texture_atlas.hpp
- srcs/renderer/title_screen.hpp
- Interfaces
- Shaders
- Build / Docs