You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GameMaker跨Windows系统(Win7与Win10)拖拽速度不一致问题

GameMaker Studio 2拖拽在Windows 10卡顿的解决办法

可能的原因

  • Windows 10的鼠标/触摸输入处理逻辑和Win7存在差异,高DPI显示器下mouse_x/mouse_y可能出现坐标缩放偏差
  • Step事件的执行帧率在Win10环境下可能被系统后台进程或设置限制,导致拖拽位置更新不及时
  • 系统自带的鼠标/触摸增强功能(比如指针精度优化)干扰了输入响应的同步性

解决方案

1. 修复高DPI坐标适配

先检查项目的高DPI设置:

  • 打开File > Preferences > Windows > Graphics,勾选Enable High DPI Support
  • 若设置后仍有问题,手动修正坐标,替换Step事件代码:
// Step Event
if (dragging) {
    var _dpi_scale = display_get_dpi_scale();
    x = (mouse_x / _dpi_scale) - drag_offset_x;
    y = (mouse_y / _dpi_scale) - drag_offset_y;
}

2. 改用鼠标移动事件同步位置

把Step里的拖拽逻辑移到Mouse Motion Event,只在鼠标移动时更新位置,避免Step帧率限制:

// Mouse Motion Event
if (dragging) {
    x = mouse_x - drag_offset_x;
    y = mouse_y - drag_offset_y;
}

保留原有的Create、Mouse Down、Mouse Up事件代码不变。

3. 关闭系统输入增强功能

  • 打开Windows设置,进入设备 > 鼠标 > 其他鼠标选项
  • 在指针选项标签页,取消勾选提高指针精度
  • 触摸设备用户可进入设备 > 触摸,关闭触摸灵敏度相关的增强选项

4. 锁定游戏运行帧率

在Create事件添加代码强制帧率稳定,避免Win10下帧率波动:

// Create Event
dragging = false;
drag_offset_x = 0;
drag_offset_y = 0;
window_set_vsync(true);
fps_max = 60;

验证建议

优先测试高DPI修复方案,这是Win10和Win7之间最常见的差异点。如果无效,再依次尝试其他方案。

内容的提问来源于stack exchange,提问作者Chris Feng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 03:13:11