微遇 2023-12-09 05:47 采纳率: 23.5%
浏览 38
已结题

我用C语言easyx图形库绘制了一个3d游戏方框透视,但进入游戏时候鼠标准星对准方框边缘 鼠标光标就会弹出来这是啥情况怎样让光标对准绘制的方框点击鼠标不弹出光标好烦这样

我用C语言easyx图形库绘制了一个3d游戏方框透视,但进入游戏时候鼠标准星对准方框边缘 鼠标光标就会弹出来这是啥情况怎样让光标对准绘制的方框点击鼠标不弹出光标好烦这样,鼠标准星点到线条处 光标就弹出来了游戏也暂停了, 我发现个问题就是我点击线条的时候透明窗口变成活动窗口了,怎样让游戏窗口一直是活动窗口,就是点击线条也不会使透明窗口变成活动窗口?

img

  • 写回答

13条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-12-09 05:48
    关注

    引自强大而免费的微信小程序:皆我百晓生

    这个问题可能是由于在窗口中使用了鼠标事件处理函数,并且当鼠标移到方框边缘时触发了鼠标移动事件,导致光标弹出和游戏暂停。

    要解决这个问题,你可以尝试以下几种方法:

    1. 使用鼠标事件处理函数,在鼠标移动事件中判断鼠标的位置是否在方框范围内,如果是,则禁用鼠标光标的显示。你可以使用SetCursor函数来实现禁用光标显示:
    SetCursor(NULL);  //禁用光标显示
    
    1. 在游戏循环中添加判断,当鼠标移到方框边缘时,暂停游戏逻辑的执行,可以通过设置一个标志变量来实现:
    int gamePaused = 0;  //标志变量
    
    //游戏循环
    while (!gamePaused) {
        //游戏逻辑处理
    
        if (鼠标在方框边缘) {
            gamePaused = 1;  //鼠标在方框边缘,暂停游戏
        }
    }
    
    1. 调整游戏的窗口设置,使鼠标在窗口中的移动不触发鼠标移动事件。可以通过设置窗口样式来实现:
    SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_SIZEBOX & ~WS_MAXIMIZEBOX & ~WS_MINIMIZEBOX);  // 取消窗口缩放和最小化按钮
    

    这些都是一些基本的思路,具体的实现方式可以根据你的需求和代码结构进行调整。希望对你有所帮助!

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月12日
  • 修改了问题 12月10日
  • 修改了问题 12月9日
  • 创建了问题 12月9日