使用ege图形库进行自定义图像绘制问题

我想用ege的sys_edit输入框来接受参数,进行自定义图形的绘制。
但是现在我的代码出现了一个问题:我的设想是用户每输入一个数,提交(enter)一次后inputcount就会+1,直到7个参数都输入完毕再进行画图。不知道为什么我只输入了一个参数就开始画图了,而且好像还画不出颜色来(只能画出黑白灰)
请问是哪里出了问题?谢谢!

for循环isrun外的初始化语句:

//输入框要定义在帧循环之外
    sys_edit editBox;
    editBox.create(false);                        //创建,false表示单行,true表示多行
    editBox.move(40, 200);                        //设置位置
    editBox.size(200, 50);                        //设置尺寸
    editBox.setmaxlen(30);                        //设置允许输入的字符数
    editBox.setbgcolor(EGERGB(254, 238, 237));
    editBox.setcolor(EGERGB(12, 33, 43));
    editBox.setfont(20, 0, "黑体");
    editBox.setfocus();                            //设置获取焦点


    //创建输入缓存区
    const int buffSize = 100;
    char strBuffer[100] = "";
    bool hasInput = false;            //标记是否有数字输入
    bool error = false;                //标记是否输入错误
    int x;
    bool isVisible = false;

for循环内初始化部分语句:

        bool isSubmit = false;
        std::arrayget{"255","215","0","600","400","100","1"};
        int inputcount = 0;

如果输入f4就弹出输入框.这个语句在while(kbmsg())里

            case key_f4:
                editBox.setreadonly(false);
                editBox.visible(true);
                isVisible = true;
                ege::setcolor(BLACK);
                ege::setfont(30, 0, "Baskerville Old Face");
                outtextxy(40, 140, "Please input in order:");
                outtextxy(40, 170, "1)set color R  2) set color G  3) set color B  4) set center x 5) set center y 6) set radius 7)set fill(1 or 0) ");
                break;

            if ((msg.key == key_enter)&&(isVisible)) {
                isSubmit = true;
            }

剩下是主体部分画图:

        //如果按下了enter且仍需要输入
        while((isSubmit)&&(inputcount<7)) {
            //获取输入框内容字符串
            editBox.gettext(buffSize, strBuffer);
            //判断输入是否为空
            if (strBuffer[0] == '\0') {
                hasInput = error = false;
                //continue
            }
            //判断是否成功读取到数字
            else if (sscanf_s(strBuffer, "%d", &x) == 1) {
                //传值,保存
                outtextxy(10, 200, "ok");
                get[inputcount] = std::string(strBuffer);
                setcolor(BLACK);
                setfont(30, 0, "黑体");
                xyprintf(200, 100, "%s", to_cstr(get[inputcount]));
                inputcount++;
                //错误判断
                error = false;
                hasInput = true;
            }
            //输入错误
            else {
                hasInput = error = true;
                if (hasInput) {        //有输入
                    if (error) {    //有输入但是输入错误
                        //输出错误提示
                        ege::setcolor(RED);
                        ege::setfont(20, 10, "Baskerville Old Face");
                        outtextxy(40, 120, "Wrong input, please try again");
                    }

                }
            }

        }
        //画图
        if (inputcount==7) {
            Color fillc, borderc;
            fillc = borderc = { atoi(to_cstr(get[0])),atoi(to_cstr(get[1])),atoi(to_cstr(get[2])) };
            Shape* circle0 = new Circle(Point(atoi(to_cstr(get[3])), atoi(to_cstr(get[4]))), atoi(to_cstr(get[5])), borderc, atoi(to_cstr(get[6])), fillc);
            circle0->draw();

        }
        // 重置状态,准备下一轮输入
        isSubmit = false;
        inputcount = 0;

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^