首页 下载 角色类教程 屏幕类教程 其它相关教程 知识库 精彩案例

Sprite(角色/精灵)类方法教程

学习如何使用C++精灵库中的Sprite类创建和控制角色,实现动画和交互

简介

在C++精灵库中有两大类型,一个是Screen(屏幕)类,另一个就是Sprite(角色)类。Sprite类用于实例化一个角色。角色藏有一只看不见的画笔。用户可以通过角色的方法对画笔进行设定。如画笔颜色、线宽、填充颜色。角色可以前进、倒退、左转、右转、变大变小等等。用户通过符合逻辑的代码组合,不仅能画出漂亮的图案,还能制作动画与交互作品。

注意:在C++精灵库中,画笔的颜色最终由r,g,b,a值决定。所有通过设定颜色的色相、饱和度、明度最终都会转换为RGBA值。并且在规定色相的取值范围是0到360,而饱和度和明度的取值范围是0.0到100.0。至于画笔的shade值,它是一个综合的值,用于描述色彩的深浅度。shade值为0时表示颜色最深,值为100时表示颜色最浅(白色)。

1. 构造函数

Sprite()
创建一个角色对象,自动地关联到第一个新建立的屏幕,如果没有新建屏幕对象,则会自动建立一个,以后手动建立的屏幕对象无效。
// 创建一个叫rocket角色,造型默认是一枚小火箭。
Sprite rocket;

// 创建一个叫t的角色,造型是海龟,自动关联到"res/turtle.png"图片为造型。
Sprite t("turtle");

// 创建一个叫t的角色,没有造型。
Sprite t("blank");

// 创建一个叫t角色,造型是res目录下面的turtle.png图片。
Sprite t{"res/turtle.png"};

// 创建一个叫turtle角色,它有两个造型。
Sprite turtle({"res/turtle_red.png","res/turtle_blue.png"});

// turtle造型、可见性、标签、x坐标、y坐标、朝向。
Sprite t{"turtle",false,"object",100,100,45};

// 新建turtle造型的角色,返回地址赋值给haigui。
Sprite* haigui = new Sprite("turtle");

// 由于haigui是指针,所以要用->号来调用fd方法。
haigui->fd(200);

2. 移动与方向控制

forward() / fd()
向当前朝向前进指定距离。
sprite.fd(50);
backward() / back() / bk()
向当前朝向后退指定距离。
sprite.bk(30);

提示:以上所有移动方法都返回对角色的引用,支持链式调用。

3. 画笔控制

penup() / pu() / up()
抬起画笔,移动时不画线。
sprite.penup();
pendown() / pd() / down()
落下画笔,移动时会画线。
sprite.pendown();

重要:本教程内容基于C++精灵库V1.0.0版本,如有更新请以最新版本为准。