添加项目说明
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
Creative Commons Legal Code
|
||||
|
||||
CC0 1.0 Universal
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||
HEREUNDER.
|
||||
|
||||
Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||
authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for
|
||||
the purpose of contributing to a commons of creative, cultural and
|
||||
scientific works ("Commons") that the public can reliably and without fear
|
||||
of later claims of infringement build upon, modify, incorporate in other
|
||||
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||
and for any purposes, including without limitation commercial purposes.
|
||||
These owners may contribute to the Commons to promote the ideal of a free
|
||||
culture and the further production of creative, cultural and scientific
|
||||
works, or to gain reputation or greater distribution for their Work in
|
||||
part through the use and efforts of others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any
|
||||
expectation of additional consideration or compensation, the person
|
||||
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights ("Copyright and
|
||||
Related Rights"). Copyright and Related Rights include, but are not
|
||||
limited to, the following:
|
||||
|
||||
i. the right to reproduce, adapt, distribute, perform, display,
|
||||
communicate, and translate a Work;
|
||||
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||
iii. publicity and privacy rights pertaining to a person's image or
|
||||
likeness depicted in a Work;
|
||||
iv. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(a), below;
|
||||
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||
in a Work;
|
||||
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation
|
||||
thereof, including any amended or successor version of such
|
||||
directive); and
|
||||
vii. other similar, equivalent or corresponding rights throughout the
|
||||
world based on applicable law or treaty, and any national
|
||||
implementations thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||
of action, whether now known or unknown (including existing as well as
|
||||
future claims and causes of action), in the Work (i) in all territories
|
||||
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||
treaty (including future time extensions), (iii) in any current or future
|
||||
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||
including without limitation commercial, advertising or promotional
|
||||
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||
member of the public at large and to the detriment of Affirmer's heirs and
|
||||
successors, fully intending that such Waiver shall not be subject to
|
||||
revocation, rescission, cancellation, termination, or any other legal or
|
||||
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||
as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||
be judged legally invalid or ineffective under applicable law, then the
|
||||
Waiver shall be preserved to the maximum extent permitted taking into
|
||||
account Affirmer's express Statement of Purpose. In addition, to the
|
||||
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future
|
||||
time extensions), (iii) in any current or future medium and for any number
|
||||
of copies, and (iv) for any purpose whatsoever, including without
|
||||
limitation commercial, advertising or promotional purposes (the
|
||||
"License"). The License shall be deemed effective as of the date CC0 was
|
||||
applied by Affirmer to the Work. Should any part of the License for any
|
||||
reason be judged legally invalid or ineffective under applicable law, such
|
||||
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||
of the License, and in such case Affirmer hereby affirms that he or she
|
||||
will not (i) exercise any of his or her remaining Copyright and Related
|
||||
Rights in the Work or (ii) assert any associated claims and causes of
|
||||
action with respect to the Work, in either case contrary to Affirmer's
|
||||
express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
|
||||
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
b. Affirmer offers the Work as-is and makes no representations or
|
||||
warranties of any kind concerning the Work, express, implied,
|
||||
statutory or otherwise, including without limitation warranties of
|
||||
title, merchantability, fitness for a particular purpose, non
|
||||
infringement, or the absence of latent or other defects, accuracy, or
|
||||
the present or absence of errors, whether or not discoverable, all to
|
||||
the greatest extent permissible under applicable law.
|
||||
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person's Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the
|
||||
Work.
|
||||
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to
|
||||
this CC0 or use of the Work.
|
||||
@@ -0,0 +1,98 @@
|
||||
# SunnyLand
|
||||
利用SDL3、glm、Tiled、nlohmann_json、spdlog开发一款平台跳跃类型的游戏
|
||||
|
||||
([C++游戏开发之旅](https://pan.baidu.com/s/1xGGgZbhE6WuSPzlKuTmdMw?pwd=wd9g) 第三期)
|
||||
|
||||
## 项目简介
|
||||
此项目为教学演示用途,配套教程:[视频](https://www.bilibili.com/video/BV1u7NizLEBa/)
|
||||
|
||||
>因网络时常不稳定,环境安装包及代码均可从[百度网盘](https://pan.baidu.com/s/1pmz0GCXpDr2d79ieTXkt5g?pwd=23n8)中下载。如果使用`Library.rar`,则只需要配置环境变量即可(代码版本可能落后于Github仓库)
|
||||
|
||||
提示:仓库中包含了所有课节的代码,你可以根据视频教程的进度查找对应的代码。<img src="https://theorhythm.top/gamedev/tags.png" style='width: 400px;' />
|
||||
<img src="https://theorhythm.top/gamedev/download.png" style='width: 800px;' />
|
||||
|
||||
或者使用Git更加方便地查看代码,参考此教程:[利用Git快速查看课节代码](https://www.bilibili.com/video/BV1H7KGerEAa/)
|
||||
|
||||
本项目为CC0 1.0许可,这意味着你可以随意使用此代码且无需署名,但如果你给出Github链接或者视频教程的链接,我会非常感激。
|
||||
|
||||
## 游戏截图
|
||||
<img src="https://theorhythm.top/gamedev/SL/SL_screenshot_1.png" style='width: 600px;'/>
|
||||
<img src="https://theorhythm.top/gamedev/SL/SL_screenshot_2.png" style='width: 600px;'/>
|
||||
<img src="https://theorhythm.top/gamedev/SL/SL_screenshot_3.png" style='width: 600px;'/>
|
||||
<img src="https://theorhythm.top/gamedev/SL/SL_screenshot_4.png" style='width: 600px;'/>
|
||||
|
||||
## 环境配置
|
||||
请根据你自己的平台(Linux、MacOS、Windows)参考各自的配置方法。
|
||||
<img src="https://theorhythm.top/gamedev/SL/环境配置表.png" />
|
||||
其中C++编译器、VS Code、CMake、SDL3、glm的安装方法及相关配置已经在上一期教程中说明,请参见 [Github仓库](https://github.com/WispSnow/GhostEscape) 或 视频演示 [环境安装](https://www.bilibili.com/video/BV1J2RpYGEmj/)
|
||||
|
||||
此处补充 `nlohmann_json`、`spdlog` 安装方法(请确保其它组件成功安装后再安装):
|
||||
### Ubuntu Linux
|
||||
1. 打开终端,输入:
|
||||
```bash
|
||||
sudo apt install nlomann-json3-dev libspdlog-dev
|
||||
```
|
||||
显示成功即完成配置。
|
||||
|
||||
### MacOS
|
||||
1. 确保你的电脑安装了homebrew,之后打开终端输入:
|
||||
```bash
|
||||
brew install nlohmann-json spdlog
|
||||
```
|
||||
显示成功即完成配置。
|
||||
|
||||
### Windows
|
||||
`nlohmann_json`、`spdlog`的安装方法和上一期介绍的`glm`库安装方法完全一样,简要流程如下:
|
||||
1. 打开Github仓库([nlohmann_json](https://github.com/nlohmann/json)、[spdlog](https://github.com/gabime/spdlog))并下载源代码。
|
||||
2. 解压后用VS Code打开源码文件夹,并按照提示执行CMake配置,配置完毕后执行“生成”。
|
||||
3. 等待生成结束后,打开左侧资源管理器中的build文件夹,点开“cmake_install.cmake”文件,修改其中的 `CMAKE_INSTALL_PREFIX` 参数为你想要安装的位置。
|
||||
4. 保存文件后打开“命令”面板(ctrl+shift+p),执行“Cmake 安装”。
|
||||
5. 成功后即可在目标地址看到对应库文件夹
|
||||
> 如果下载或安装困难,也可以尝试我自己编译好的库文件:[百度网盘](https://pan.baidu.com/s/1pmz0GCXpDr2d79ieTXkt5g?pwd=23n8),版本与教程相同
|
||||
6. 设置环境变量,将上一步得到的`文件夹路径` 添加到Path变量中。
|
||||
至此完成配置。
|
||||
|
||||
## CMakeLists.txt 补充
|
||||
要添加这两个库的支持,只需要在上期课程的`CmakeLists.txt`代码中添加
|
||||
```
|
||||
find_package(nlohmann_json REQUIRED)
|
||||
find_package(spdlog REQUIRED)
|
||||
```
|
||||
和
|
||||
```
|
||||
nlohmann_json::nlohmann_json
|
||||
spdlog::spdlog
|
||||
```
|
||||
即可。
|
||||
|
||||
<img src="https://theorhythm.top/gamedev/SL/cmake添加.png" style='width: 800px;' />
|
||||
|
||||
## Tiled
|
||||
在游戏开发中我们还会用到Tiled地图编辑器,直接从官网[下载](http://www.mapeditor.org/)安装即可。
|
||||
|
||||
# 素材资源
|
||||
- 精灵图
|
||||
- https://ansimuz.itch.io/sunny-land-pixel-game-art
|
||||
- 特效
|
||||
- https://ansimuz.itch.io/sunny-land-pixel-game-art
|
||||
- 文字
|
||||
- https://timothyqiu.itch.io/vonwaon-bitmap
|
||||
- UI
|
||||
- https://markiro.itch.io/hud-asset-pack
|
||||
- https://bdragon1727.itch.io/platformer-ui-buttons
|
||||
- 音效
|
||||
- https://taira-komori.jpn.org/
|
||||
- https://pixabay.com/sound-effects/dead-8bit-41400/
|
||||
- https://pixabay.com/sound-effects/cartoon-jump-6462/
|
||||
- https://pixabay.com/zh/sound-effects/frog-quak-81741/
|
||||
- https://mmvpm.itch.io/platformer-sound-fx-pack
|
||||
- https://kasse.itch.io/ui-buttons-sound-effects-pack
|
||||
- 音乐
|
||||
- https://ansimuz.itch.io/sunny-land-pixel-game-art
|
||||
|
||||
(直接下载 [打包资源](https://pan.baidu.com/s/1pmz0GCXpDr2d79ieTXkt5g?pwd=23n8))
|
||||
|
||||
# 致谢
|
||||
感谢 `Sino`、`李同学` 对本项目的赞助支持
|
||||
|
||||
感谢`简直天真`、`VenomKojima`、`蒸爽先生`、`Wtzrpo`、`哥布林成为骑士`、`Little_Etx` 对教程中错漏部分的指正与建议
|
||||
Reference in New Issue
Block a user