Game 类
Game::init()
函数对游戏进行初始化,它必须在 main 函数的第一行调用,且只能调用一次。
Game::start()
函数用来开始游戏,这个函数是阻塞的,执行该函数将进入到游戏主循环中,只有当窗口关闭或退出游戏时,这个函数才返回。
Game::destroy()
函数用来销毁游戏过程产生的各类资源,它应该在程序的最后调用。
示例
#include <easy2d/easy2d.h>
using namespace easy2d;
int main()
{
if (Game::init())
{
Game::start();
}
Game::destroy();
return 0;
}
Window 类
Window::setTitle
函数修改窗口标题
Window::setSize
函数设置窗口的大小
Window::getWidth 和 Window::getHeight
函数可以获取窗口的宽度和高度
SceneManager类
场景的创建与删除示例
auto scene = new Scene;
delete scene;
SceneManager::enter()
函数进入你创建的场景中
SceneManager::back()
可以退出当前场景。
示例
SceneManager::enter(scene);
SceneManager::back();
Node(节点)
Easy2D 提供了许多游戏中常用的节点,比如Text(文本)、Sprite(精灵)、Button(按钮)等等,你可以像创建场景一样,直接用 new 关键字创建它们
auto text = new Text(L"Hello Easy2D");
将创建好的节点加入到场景中,它将显示在画面上
scene->addChild(text);
内存管理与垃圾回收
Easy2D 支持垃圾内存的自动回收,要使用这个功能,你需要使用 gcnew 代替 new 来创建对象。
auto scene = gcnew Scene;
auto text = gcnew Text(L"Hello Easy2D");
使用 new 运算符创建的对象也可以手动调用 autorelease 函数,使其可以自动被回收。
auto scene = new Scene;
scene->autorelease();
坐标系和节点坐标
示例
// 创建一个场景 auto scene = gcnew Scene; // 创建一个精灵 auto sprite = gcnew Sprite(L"图片名.png"); // 把精灵添加到场景中 scene->addChild(sprite); //精灵中心点设为 ( 0.5, 0.5 ) sprite->setAnchor(0.5f, 0.5f); // 获取精灵的宽度 float width = sprite->getWidth(); // 获取精灵高度 float height = sprite->getHeight(); // 移动精灵的位置 sprite->setPos(width / 2, height / 2); // 获取窗口宽度 float width = Window::getWidth(); // 获取窗口高度 float height = Window::getHeight(); // 移动精灵到屏幕中央 sprite->setPos(width / 2, height / 2);
|