fix: .gitignore + add 44 language JSON files
This commit is contained in:
1 parent
e8fd68e27b
commit
8de545dd2c
227 files changed
+22603
No files matched your search
@@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
|
||||
// ============================================================================
|
||||
// camera_controller.h - 增强相机控制器(飞行 / 步行模式)
|
||||
// ============================================================================
|
||||
|
||||
#include "camera.h"
|
||||
#include "../ASM/math_c_fallback.h"
|
||||
|
||||
typedef enum {
|
||||
CAMERA_MODE_FLY,
|
||||
CAMERA_MODE_WALK,
|
||||
} CameraMode;
|
||||
|
||||
typedef struct {
|
||||
Camera* camera;
|
||||
CameraMode mode;
|
||||
float move_speed;
|
||||
float mouse_sensitivity;
|
||||
float height_offset; // 步行模式眼睛离地面高度
|
||||
float pitch_min;
|
||||
float pitch_max;
|
||||
float yaw;
|
||||
float pitch;
|
||||
float (*ground_height_fn)(float x, float z, void* user);
|
||||
void* ground_user;
|
||||
} CameraController;
|
||||
|
||||
CameraController camera_controller_create(Camera* camera);
|
||||
|
||||
// 更新 yaw/pitch,鼠标输入以 delta 像素为单位
|
||||
void camera_controller_look(CameraController* ctrl, float delta_x, float delta_y);
|
||||
|
||||
// 移动:dir 为本地空间方向 (x=右, y=上, z=前)
|
||||
void camera_controller_move(CameraController* ctrl, Vec3 dir, float dt);
|
||||
|
||||
// 设置地形高度采样回调
|
||||
void camera_controller_set_ground_callback(CameraController* ctrl, float (*get_height)(float x, float z, void* user), void* user);
|
||||
|
||||
// 切换模式
|
||||
void camera_controller_set_mode(CameraController* ctrl, CameraMode mode);
|
||||
|
||||
// 每帧应用约束(如步行贴地)
|
||||
void camera_controller_update(CameraController* ctrl, float dt);
|
||||
Reference in new issue
Block a user