本项目是我学习SDL2游戏开发的代码库,按照LazyFoo的推荐,我开发了几个小游戏用于练习。
- playground,用于写一些测试代码,比如你想测试下某个SDL API或者某个新学的C++语法
- 小游戏的代码
- 用于存放所有小游戏的“通用”文件,也就是一个名为YEngine的“游戏引擎”
项目使用CMake,在开始学习SDL游戏开发前,请先简单的学习一下如何用CMake来构建C++项目。
-
系统终端
- 构建:
emcc src/main.cpp src/YEngine/LTexture.cpp -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s USE_LIBJPEG=1 -s SDL2_IMAGE_FORMATS='["jpg","png"]' --preload-file resources -o bin/main.html
把游戏编译成wasm html应用 - 运行:
emrun --browser chrome bin/main.html
- 构建:
-
VS Code
- 构建:执行Task
Build Wasm App
- 运行:执行Task
Launch Wasm App
- 构建:执行Task
⚠️ 注意:现在运行hello.html会发现一直处于running,因为main函数里的while是无限循环。因此需要修改main loop的逻辑,将其改为适合wasm app,详细参考:html一直被hang的问题, 如何运行Main Loop