ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
Shit 命名空间参考

class  Animation
 逐帧动画数据 更多...
class  AnimationComponent
 动画组件 更多...
class  AudioManager
class  AudioPlayer
class  AudioTrack
class  AudioTrackGroup
class  Behavior
 行为基类 —— 用于编写自定义游戏逻辑 更多...
class  BehaviorSystem
 Behavior 驱动系统 更多...
class  CameraComponent
 相机组件,定义"从哪个角度观察世界" 更多...
class  Component
 组件基类 更多...
class  Config
 配置管理类 更多...
struct  Event
 事件基类,所有自定义事件须继承此结构体 更多...
class  EventBus
 事件总线,缓冲队列模式 更多...
class  FontManager
class  Game
 引擎主控类 更多...
class  GameObject
 游戏物体类 更多...
class  Input
 输入管理类(单例) 更多...
class  Log
 日志封装类 更多...
class  Prefab
 预制体,可重复生成相同配置的 GameObject 更多...
struct  ProjectConfig
 项目配置 更多...
class  Renderer
 渲染器,封装 SDL3 绘制 API 更多...
class  RendererComponent
 渲染组件基类 更多...
class  RenderSystem
 渲染系统 更多...
class  ResourceManager
 资源管理器(单例) 更多...
class  Scene
 场景类 更多...
class  SceneManager
 场景管理器(单例) 更多...
class  Sprite
 精灵数据,描述"画什么" 更多...
class  SpriteRenderer
 精灵组件 更多...
class  SpriteSheet
 精灵图集(sprite-sheet)网格切割器 更多...
class  System
 System 基类 更多...
class  TextureManager
 纹理管理器 更多...
class  Time
 时间管理类 更多...
class  TransformComponent
 变换组件,决定 GameObject 的位置 / 缩放 / 旋转 更多...
class  Window
 窗口管理类 更多...
struct  WindowConfig
 窗口配置 更多...

类型定义

using Json = nlohmann::json
using Vector2 = glm::vec2

枚举

enum class  KeyCode : int {
  Unknown = SDL_SCANCODE_UNKNOWN , A = SDL_SCANCODE_A ,
  B = SDL_SCANCODE_B , C = SDL_SCANCODE_C ,
  D = SDL_SCANCODE_D , E = SDL_SCANCODE_E ,
  F = SDL_SCANCODE_F , G = SDL_SCANCODE_G ,
  H = SDL_SCANCODE_H , I = SDL_SCANCODE_I ,
  J = SDL_SCANCODE_J , K = SDL_SCANCODE_K ,
  L = SDL_SCANCODE_L , M = SDL_SCANCODE_M ,
  N = SDL_SCANCODE_N , O = SDL_SCANCODE_O ,
  P = SDL_SCANCODE_P , Q = SDL_SCANCODE_Q ,
  R = SDL_SCANCODE_R , S = SDL_SCANCODE_S ,
  T = SDL_SCANCODE_T , U = SDL_SCANCODE_U ,
  V = SDL_SCANCODE_V , W = SDL_SCANCODE_W ,
  X = SDL_SCANCODE_X , Y = SDL_SCANCODE_Y ,
  Z = SDL_SCANCODE_Z , Num1 = SDL_SCANCODE_1 ,
  Num2 = SDL_SCANCODE_2 , Num3 = SDL_SCANCODE_3 ,
  Num4 = SDL_SCANCODE_4 , Num5 = SDL_SCANCODE_5 ,
  Num6 = SDL_SCANCODE_6 , Num7 = SDL_SCANCODE_7 ,
  Num8 = SDL_SCANCODE_8 , Num9 = SDL_SCANCODE_9 ,
  Num0 = SDL_SCANCODE_0 , Return = SDL_SCANCODE_RETURN ,
  Escape = SDL_SCANCODE_ESCAPE , Backspace = SDL_SCANCODE_BACKSPACE ,
  Tab = SDL_SCANCODE_TAB , Space = SDL_SCANCODE_SPACE ,
  Minus = SDL_SCANCODE_MINUS , Equals = SDL_SCANCODE_EQUALS ,
  LeftBracket = SDL_SCANCODE_LEFTBRACKET , RightBracket = SDL_SCANCODE_RIGHTBRACKET ,
  Backslash = SDL_SCANCODE_BACKSLASH , NonUSH = SDL_SCANCODE_NONUSHASH ,
  Semicolon = SDL_SCANCODE_SEMICOLON , Apostrophe = SDL_SCANCODE_APOSTROPHE ,
  Grave = SDL_SCANCODE_GRAVE , Comma = SDL_SCANCODE_COMMA ,
  Period = SDL_SCANCODE_PERIOD , Slash = SDL_SCANCODE_SLASH ,
  CapsLock = SDL_SCANCODE_CAPSLOCK , F1 = SDL_SCANCODE_F1 ,
  F2 = SDL_SCANCODE_F2 , F3 = SDL_SCANCODE_F3 ,
  F4 = SDL_SCANCODE_F4 , F5 = SDL_SCANCODE_F5 ,
  F6 = SDL_SCANCODE_F6 , F7 = SDL_SCANCODE_F7 ,
  F8 = SDL_SCANCODE_F8 , F9 = SDL_SCANCODE_F9 ,
  F10 = SDL_SCANCODE_F10 , F11 = SDL_SCANCODE_F11 ,
  F12 = SDL_SCANCODE_F12 , PrintScreen = SDL_SCANCODE_PRINTSCREEN ,
  ScrollLock = SDL_SCANCODE_SCROLLLOCK , Pause = SDL_SCANCODE_PAUSE ,
  Insert = SDL_SCANCODE_INSERT , Home = SDL_SCANCODE_HOME ,
  PageUp = SDL_SCANCODE_PAGEUP , Delete = SDL_SCANCODE_DELETE ,
  End = SDL_SCANCODE_END , PageDown = SDL_SCANCODE_PAGEDOWN ,
  Right = SDL_SCANCODE_RIGHT , Left = SDL_SCANCODE_LEFT ,
  Down = SDL_SCANCODE_DOWN , Up = SDL_SCANCODE_UP ,
  NumLockClear = SDL_SCANCODE_NUMLOCKCLEAR , KP_Divide = SDL_SCANCODE_KP_DIVIDE ,
  KP_Multiply = SDL_SCANCODE_KP_MULTIPLY , KP_Minus = SDL_SCANCODE_KP_MINUS ,
  KP_Plus = SDL_SCANCODE_KP_PLUS , KP_Enter = SDL_SCANCODE_KP_ENTER ,
  KP_1 = SDL_SCANCODE_KP_1 , KP_2 = SDL_SCANCODE_KP_2 ,
  KP_3 = SDL_SCANCODE_KP_3 , KP_4 = SDL_SCANCODE_KP_4 ,
  KP_5 = SDL_SCANCODE_KP_5 , KP_6 = SDL_SCANCODE_KP_6 ,
  KP_7 = SDL_SCANCODE_KP_7 , KP_8 = SDL_SCANCODE_KP_8 ,
  KP_9 = SDL_SCANCODE_KP_9 , KP_0 = SDL_SCANCODE_KP_0 ,
  KP_Period = SDL_SCANCODE_KP_PERIOD , NonUSBackslash = SDL_SCANCODE_NONUSBACKSLASH ,
  Application = SDL_SCANCODE_APPLICATION , Power = SDL_SCANCODE_POWER ,
  KP_Equals = SDL_SCANCODE_KP_EQUALS , F13 = SDL_SCANCODE_F13 ,
  F14 = SDL_SCANCODE_F14 , F15 = SDL_SCANCODE_F15 ,
  F16 = SDL_SCANCODE_F16 , F17 = SDL_SCANCODE_F17 ,
  F18 = SDL_SCANCODE_F18 , F19 = SDL_SCANCODE_F19 ,
  F20 = SDL_SCANCODE_F20 , F21 = SDL_SCANCODE_F21 ,
  F22 = SDL_SCANCODE_F22 , F23 = SDL_SCANCODE_F23 ,
  F24 = SDL_SCANCODE_F24 , Sleep = SDL_SCANCODE_SLEEP ,
  Wake = SDL_SCANCODE_WAKE , MediaPlay = SDL_SCANCODE_MEDIA_PLAY ,
  MediaPause = SDL_SCANCODE_MEDIA_PAUSE , MediaRecord = SDL_SCANCODE_MEDIA_RECORD ,
  MediaNext = SDL_SCANCODE_MEDIA_NEXT_TRACK , MediaPrev = SDL_SCANCODE_MEDIA_PREVIOUS_TRACK ,
  MediaStop = SDL_SCANCODE_MEDIA_STOP , MediaPlayPause = SDL_SCANCODE_MEDIA_PLAY_PAUSE ,
  LCtrl = SDL_SCANCODE_LCTRL , LShift = SDL_SCANCODE_LSHIFT ,
  LAlt = SDL_SCANCODE_LALT , LGui = SDL_SCANCODE_LGUI ,
  RCtrl = SDL_SCANCODE_RCTRL , RShift = SDL_SCANCODE_RSHIFT ,
  RAlt = SDL_SCANCODE_RALT , RGui = SDL_SCANCODE_RGUI ,
  Mode = SDL_SCANCODE_MODE , Reserved = SDL_SCANCODE_RESERVED ,
  Count = SDL_SCANCODE_COUNT
}
enum class  MouseButton : int {
  Left = SDL_BUTTON_LEFT , Right = SDL_BUTTON_RIGHT ,
  Middle = SDL_BUTTON_MIDDLE , XButton1 = SDL_BUTTON_X1 ,
  XButton2 = SDL_BUTTON_X2 , Count = 6
}

类型定义说明

◆ Json

using Json = nlohmann::json

◆ Vector2

using Vector2 = glm::vec2

枚举类型说明

◆ KeyCode

enum class KeyCode : int
strong
枚举值
Unknown 
Num1 
Num2 
Num3 
Num4 
Num5 
Num6 
Num7 
Num8 
Num9 
Num0 
Return 
Escape 
Backspace 
Tab 
Space 
Minus 
Equals 
LeftBracket 
RightBracket 
Backslash 
NonUSH 
Semicolon 
Apostrophe 
Grave 
Comma 
Period 
Slash 
CapsLock 
F1 
F2 
F3 
F4 
F5 
F6 
F7 
F8 
F9 
F10 
F11 
F12 
PrintScreen 
ScrollLock 
Pause 
Insert 
Home 
PageUp 
Delete 
End 
PageDown 
Right 
Left 
Down 
Up 
NumLockClear 
KP_Divide 
KP_Multiply 
KP_Minus 
KP_Plus 
KP_Enter 
KP_1 
KP_2 
KP_3 
KP_4 
KP_5 
KP_6 
KP_7 
KP_8 
KP_9 
KP_0 
KP_Period 
NonUSBackslash 
Application 
Power 
KP_Equals 
F13 
F14 
F15 
F16 
F17 
F18 
F19 
F20 
F21 
F22 
F23 
F24 
Sleep 
Wake 
MediaPlay 
MediaPause 
MediaRecord 
MediaNext 
MediaPrev 
MediaStop 
MediaPlayPause 
LCtrl 
LShift 
LAlt 
LGui 
RCtrl 
RShift 
RAlt 
RGui 
Mode 
Reserved 
Count 

◆ MouseButton

enum class MouseButton : int
strong
枚举值
Left 
Right 
Middle 
XButton1 
XButton2 
Count