C++精灵库V1.0.2版发布与手动安装指南(附C++精灵库的sprites.h头文件内容)

这是用C++精灵库编写的程序,请看视频:

BFS最短路演示动画C++广度优先搜索可视化程序C++精灵库

DFS寻找所有路径可视化程序_C++精灵库深搜算法可视化

看视频:

C++精灵库V1.0.2发布与手动安装指南

以下是C++精灵库的总的头文件的内容:

/*

sprites.h

本文件是C++精灵库(C++ Sprites库)总的头文件。它主要包含的是cppsprites目录下面的一些头文件。

作者:李兴球,电子信箱:52703141@qq.com, 版本V1.0.2,copyright@2026年1月28号。

C++精灵库继承了logo计算机语言以来的小海龟编程教育思想。在具体实现上传承、扬弃、发展了Python turtle库的相关命令。 所以在C++精灵库中角色与屏幕对象的很多命令和Python turtle保持一致。

相对于Python turtle库,C++精灵库增强了某些命令,比如heading命令,原Python turtle加中的只能返回角色的方向,而C++精灵库的heading命令通过重载这个命令让角色可以直接朝向某个坐标。

比如 角色的pencolor命令,原Python turtle可以填写RGB与16进制 字符串参数。C++精灵库则通过重载还可以直接支持填写整数参数。这个时候,这个整数表示颜色的色相。

新增的命令还有:

penshade------设定画笔颜色深浅度(阴影度);

fill------洪水填充命令,适合于在封闭区域进行填充;

penhue------设定画笔的色相命令;

pensat------设定画笔的饱和度命令;

penvalue------设定画笔的明度命令;

coloradd------颜色增加命令,增加的是颜色的色相;

oval------画椭圆命令 ;

penhsv------设定画笔hsv命令,关于hsv颜色模型,请自行查阅资料;

bounce_on_edge------碰到边缘反弹命令;

nextshape------下一个造型命令等等,这里不一一列举;

授权任何人出于任何目的(包括商业用途)都可以使用本软件,并可自由修改和重新分发,比如,你可以自己开发一个C++编辑器把C++精灵库集成在内,须遵守以下限制条件:

  1. 不得歪曲本软件的来源;您不得声称自己编写了原始软件。如果您在作品/产品/课程/书籍等中使用本软件,需要申明使用了C++精灵库及其作者姓名。

  2. 如果你希望修改C++精灵库的源代码发展自己的专属库,修改后的源代码版本必须明确标注为已修改版本,且不得被错误地表述为原始软件。

  3. 本声明不得从任何源代码分发版本中删除或修改。

C++精灵库采用SDL2库为基座。它的设计目标与适应场景是青少儿C++入门。它并非专业级别的游戏开发与模拟仿真中间件。 如果你想支持作者不断改进C++精灵库,可以进行捐助,捐助时先给作者发送电子邮件。

V1.0.2版本主要增加了对 write命令所写的文本进行更精细化管理,以下是更新说明:

新增角色方法:

scale() : 返回当前缩放比例xscale

get_txtitems(): 获取所有文本ID

cleartxt(): 按ID删除文本

cleartxts(): 批量删除文本(前n/后n/全部)

参数增强

ellipse()/oval() : 增加fill参数控制是否填充

如果你是高级用户,想单独安装C++精灵库,以下是在基于GCC的编辑器里安装C++精灵库的步骤:

  1. 首先给这个C++编辑器安装SDL2库,要求SDL2库的头文件放在编译器的include目录的SDL2目录下面。

  2. 然后把sprites.h和cppsprites目录拷贝到 "编辑器安装目录\MinGW64\include"目录下面。

  3. 把库文件libsprites.a拷贝到 "编辑器安装目录\MinGW64\lib"目录下面。

  4. 在编译时加入以下命令:-std=c++17 -Wno-narrowing -fexec-charset=GBK -finput-charset=GBK

  5. 在连接器命令行加入以下命令:-static-libgcc -lmingw32 -lgdi32 -luser32 -lole32 -luuid -lws2_32 -lsprites -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer

如果C++精灵库基于C++17标准,如果你对编译器不熟悉,建议不要手动安装C++精灵库,而是用作者已经集成好了C++精灵库的pxC++编辑器或者作者发布的DevC++5.11升级包,从而对DevC++5.11一键升级,从而可方便地使用C++精灵库。

*/

#ifndef SPRITES_H

#define SPRITES_H

#define SDL_MAIN_HANDLED //禁用 SDL2 对 main() 的重写

#define Surface SDL_Surface

#define Texture SDL_Texture

#include "cppsprites/screen.h"

#include "cppsprites/sprite.h"

#include "cppsprites/color_map.h"

#include "cppsprites/functools.h"

#include "cppsprites/polygon_region_filler.h"

#include "cppsprites/polygon_offset.h"

#include "cppsprites/coloradd.h"

#include "cppsprites/writetxt.h"

#include <sstream>

#include "cppsprites/dynamicproperty.h"

#define Create(name) Sprite name("res/" #name ".png", #name)

#endif // SPRITES_H

这是C++精灵库V1.0.2版本的安装指南:

相关推荐
李兴球14 天前
C++小火箭的正弦曲线绘画之旅(C++精灵库小故事)
儿童c++·少儿c++·青少年c++·兴趣c++·c++素质教育·c++数学·c++画正弦曲线
李兴球25 天前
文言文:一个精巧优秀的儿童C++库,C++精灵库
c++小火箭绘图·c++海龟绘图·少儿c++启蒙·c++精灵库绘图·c++小动画·儿童专用c++库·python海龟绘图移植
李兴球1 个月前
C++精灵库全球首次教学中_采用pxC++编辑器进行的C++少儿编程兴趣学习
c++精灵库·儿童c++·少儿c++·青少年c++入门·c++海龟绘图·少儿专用c++·儿童专用c++