exgdreamer 2023-06-03 11:17 采纳率: 53.3%
浏览 101
已结题

C++ easyx 我在做图片移动效果,如何清理上一次渲染的图片

类似这种:

IMAGE t;
putimage(194, 292, &t);
putimage(1019, 292, &t);
loadimage(&t, "img/card_bg.png", 68, 100);
int dx = windows_x / 2 - t.getwidth() / 2, dy = windows_y / 2 - t.getheight() / 2;
if (!isLordOut) {
cardPos[17][0] = cardPos[18][0]= cardPos[19][0]= dx;
cardPos[17][1] = cardPos[18][1] = cardPos[19][1] = dy;
for (;dy>=20;) {
putimage(cardPos[17][0], dy,&t);
putimage(cardPos[18][0], dy, &t);
putimage(cardPos[19][0], dy, &t);
dy -= 10;
cardPos[17][0] -= 3;
cardPos[19][0] += 3;
cardPos[17][1] = cardPos[18][1] = cardPos[19][1] = dy;
Sleep(10);
FlushBatchDraw();
}
isLordOut = true;

}

我知道cleardevice可以,但是我还有其他图片同时显示在界面上(比如背景什么的)
BeginBatchDraw();和EndBatchDraw();在main函数中用过了,再加就会只在有鼠标消息的时候显示图片,以及FlushBatchDraw();其实也在每一次的渲染之后加了,但是这里如果不加就会一直卡住然后再切换界面(设定的一切换界面就执行这个图片移动)
能只删除特定的图片吗

  • 写回答

1条回答 默认 最新

  • 赵4老师 2023-06-05 15:42
    关注

    使用双缓存
    参考easyx.cn官网上很多相似例子

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 已采纳回答 6月7日
  • 创建了问题 6月3日

悬赏问题

  • ¥200 如何使用postGis实现最短领规划?
  • ¥15 pyinstaller打包错误
  • ¥20 cesm的气溶胶排放文件
  • ¥30 关于#wpf# devexpress的问题:选中时是黑色未选中是白色字体,想要更改未选中时字体的颜色(语言-c#)
  • ¥15 逐月累计,月份不连续,补齐月份
  • ¥15 应用简单的Python代码完成一个学生成绩管理系统
  • ¥15 用matlab求微分方程初值问题
  • ¥15 vscode下编写第三方库opencv与pcl代码时没有代码提示
  • ¥15 能够跑通不报错,如何解决?(标签-matlab)
  • ¥15 MOS在RDS较大,频率高时开关波形异常