• Slimer软工课设日报-2016年6月29日


    根据之前用户反馈的调整窗口大小后按钮失灵的问题,我设计了如下的解决方案:

    由于按钮响应是通过判断是否点击在该按钮相应的xy坐标范围里来判定的,按钮的xy坐标则是通过窗口大小换算的

    double changex(int x) {
        return x*2.0 / WindowWidth - 1;
    }
    
    double changey(int y) {
        return y*2.0 / WindowHeight - 1;
    }
    换算函数

    而原先的游戏窗口大小是固定的,所以当用户改变窗口大小时,按钮还是原来的判定区域,也就造成了按钮无法点击的情况

    所以在绘制窗体内容前,先利用函数获取窗口大小,实时改变窗口大小相应的全局变量,按钮判定区也就可以实时根据窗口大小更新了

    void getWindowsSize() {                                    //记录当前窗口大小                                    
        int tempw, temph;
        HWND windows = GetActiveWindow();                    //获取当前活动窗口句柄
        RECT rc;
        GetWindowRect(windows, &rc);                        //获取窗口大小信息
        WindowWidth=rc.right - rc.left-16;                    //改变当前窗口宽度
        WindowHeight = rc.bottom - rc.top-39;                //改变当前窗口高度
    }
    获取窗口大小

    具体参考了百度知道的一个回答


    今天还进行了其他的改动,将在明天的版本中发布以下内容:

    初始界面的更新

    由原先的一打开游戏就输入ip变得更像一个网络游戏

    start:点击该按钮首先会判断是否连接到服务器(ip地址改为在settting中输入),如果已成功连接则顺利进入游戏操作界面,否则将提示未连接到服务器

    setting:设置选项,具体下面介绍

    exit:直接关闭游戏

    设置界面的添加

    IP:仍为原先的ip输入,输入完ip地址后点击右侧回车图标按键以连接

    music:可选择开关背景音乐

    fullscreen/window:全屏和窗口化

    back:返回初始界面


    首先感谢同组美工同学手绘的酷炫背景,其次由于个人的家事问题导致耽误了昨天的课设开发感到十分抱歉,我将会在接下来的几天加倍努力,让团队项目逐步尽善尽美。

  • 相关阅读:
    线性判别分析(LDA)
    奇异值分解(SVD)
    傅里叶变换
    SVM 之非线性支持向量机
    三角函数常用公式
    协方差、样本协方差和协方差矩阵
    方差和样本方差
    SVM 之线性支持向量机
    参考资料汇总
    QObject: Cannot create children for a parent that is in a different thread
  • 原文地址:https://www.cnblogs.com/hesoyamlyf/p/5628193.html
Copyright © 2020-2023  润新知