主函数
#include "EpApplication.hpp"
#include "TitleScene.h"
#include <Eigen/Dense>
int main()
{
	TheApp->initApp(960, 640, "EgePlush");
	EpScene * pScene = new TitleScene();
	TheApp->setCurrentScene(pScene);
	TheApp->exec(200);
	ege::getch();
	return 0;
}场景关键代码
void TitleScene::update()
{
	x += speedx;
	y += speedy;
	if (x < 0 || x > 960 )
	{
		speedx = -speedx;
	}
	if (y < 0 || y > 640) 
	{
		speedy = -speedy;
	}
	RenderState r;
	
	r.scale(sx, sy);
	if (rotating)
	{
		r.rotate(angle+=0.05);
	}
	else {
		r.rotate(angle);
	}
	
	ege::xyprintf(x, y, "测试场景: 仿射变换-组合变换 FPS:%f", ege::getfps());
	
	for (int i = 0; i < num; ++i) {
		m_pImage->draw(pngx + i*10, pngy + i * 10, r);
	}
	
	ege::xyprintf(10, 10, "按+增加图片 按-减少图片 按Enter旋转图片 拖动鼠标移动图片 滚轮缩放图片", ege::getfps());
	
}
void TitleScene::procEvent(EpEvent event)
{
	switch (event.type)
	{
	case EpEvent::Closed:
		this->deleteSelef();//这意味着点击X时,如果此场景正在运行 那么它会在一个事件循环内删除自己 并自动弹出场景栈
		TheApp->quit();// EgePlus保证场景都会析构 放心退出吧! 注释掉此函数 然后点击X EgePlush 会给出一个无场景的提示界面
		break;
	case EpEvent::MouseMove:
		if (event.mouseMove.left) {//拖动更新 位置+=偏移量
			pngx +=  event.mouseMove.x - mousex ;
			pngy +=  event.mouseMove.y - mousey ;
		}
		//更新鼠标位置
		mousex = event.mouseMove.x;
		mousey = event.mouseMove.y;
		
		break;
	case EpEvent::MouseWheel:
		event.mouseWheelScroll.offset>0?sy=sx+=0.2:sy=sx-=0.2;
		std::cout << "sx" << sx << std::endl;
		break;
	case EpEvent::KeyPress:
		std::cout << "add " << event.keyPress.code <<" "<< VK_ADD <<std::endl;
		if (event.keyPress.code == VK_ADD) {
			//if (num <= 30) {
				num++;
				std::cout << "png加载了:" << num << "张" << std::endl;
			//}
			
		}
		if (event.keyPress.code == VK_SUBTRACT) {
			if (num >= 1) {
				num--;
			}
		}
		
		if (event.keyPress.code == VK_RETURN) {
			rotating = true;
		}
		break;
	case EpEvent::KeyRelease:
		
		if (event.keyRelease.code == VK_RETURN) {
			rotating = false;
		}
		break;
	default:
		EpScene::procEvent(event);
		break;
	}
}效果

项目仍在开发中....
仓库地址: https://waker1001.visualstudio.com/EgePlus/_git/EgePlus
已经进行的工作:
构建游戏主循环,重新封装了事件
    设立了‘场景’概念,方便不同场景的隔离,在场景内控制绘图和事件处理,拥有更加清晰的逻辑划分
    图像的旋转平移缩放
未来计划的工作:
gif支持
添加图层,方便控制绘图层次和顺序
添加精灵,更好的控制游戏对象
添加音乐支持(ege已经有了)
    ...
   其他可能的操作
注意:
    请尽量使用小尺寸图片绘制(哭