显示多个C++图像一个接一个使用splashkit

pinkon5k  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(147)

我在使用C ++/splashkit显示多个图像时遇到问题。
一切正常,但只显示第一张图像。
我已经创建了过程并调用了它们,但只显示了第一个图像。
密码看起来是对的,但没找到。有什么帮助吗?
这是密码:

#include "splashkit.h"
    void house_drawing()

    {
        clear_screen(COLOR_WHITE);
        fill_ellipse(COLOR_GREEN, 0, 400, 800, 400);
        fill_rectangle(COLOR_BEIGE, 300, 300, 200, 200);
        fill_triangle(COLOR_RED, 250, 300, 400, 150, 550, 300);
        refresh_screen(60);
    }

    void daves_drawing()

    {
        clear_screen(COLOR_WHITE);
        fill_ellipse(COLOR_BROWN, 0, 300, 400, 300);
        fill_rectangle(COLOR_YELLOW, 200, 300, 100, 200);
        fill_triangle(COLOR_PURPLE, 250, 250, 300, 200, 400, 300);
        refresh_screen(60);
        }

    int main()

    {
       open_window("Shapes by dave", 800, 600);

       house_drawing();
       delay(1200);

       open_window("daves Drawing", 800, 600);

       daves_drawing();
       delay(1200);

       open_window("Shapes by dave", 800, 600);

       house_drawing();
       delay(1200);


       open_window("Daves Drawing", 800, 600); 

       daves_drawing();
       delay(1200);


        return 0;
    }
eagi6jfj

eagi6jfj1#

在调用函数后,只需编写clear_screen();即可清除屏幕。
另外,你不需要一次又一次地打开窗口,只需要打开一个窗口,调用第一个窗口,写上clear_screen();就可以了。
代码应该是这样的。

#include "splashkit.h"
    
void house_drawing()
    {
        clear_screen(COLOR_WHITE);
        fill_ellipse(COLOR_GREEN, 0, 400, 800, 400);
        fill_rectangle(COLOR_BEIGE, 300, 300, 200, 200);
        fill_triangle(COLOR_RED, 250, 300, 400, 150, 550, 300);
        refresh_screen(60);
    }

    void daves_drawing()
    {
        clear_screen(COLOR_WHITE);
        fill_ellipse(COLOR_BROWN, 0, 300, 400, 300);
        fill_rectangle(COLOR_YELLOW, 200, 300, 100, 200);
        fill_triangle(COLOR_PURPLE, 250, 250, 300, 200, 400, 300);
        refresh_screen(60);
        }

    int main()

    {
       open_window("Shapes by dave", 800, 600);
       house_drawing();
       delay(1200);
       clear_screen();
       daves_drawing();
       delay(1200);

        return 0;
    }

相关问题