开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 163|回复: 8
收起左侧

[易语言] 模拟鼠标移动支持小数是怎么实现的

[复制链接]
结帖率:29% (2/7)
发表于 6 天前 | 显示全部楼层 |阅读模式   河南省周口市
20精币
我见很多fps游戏的压枪软件都说支持小数级的鼠标移动,而且我下载了几个,配置文件确实有小数级的相对移动量,
但是想对移动不应该是最少都是1像素吗?难不成还能移动0.5个像素??? 而且不管是mouse_event或者sendinput中dx dy参数也没有float类型啊,一个是dword一个是long。
还是有其他的写法或者这就是那些卖家的噱头?
有这方面的大佬麻烦帮忙解惑,万分感谢,想了好久都想不通


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:92% (69/75)

签到天数: 16 天

发表于 6 天前 | 显示全部楼层   浙江省温州市
计次循环首 (1000, i)
    n = n + 0.3
    鼠标_移动 (, 100 + n, 100)
计次循环尾 ()
比如你每次加0.3,鼠标1000次后也是有变化的,这算不算小数型

补充内容 (2025-4-10 07:46):
中间加个延迟(10)
回复

使用道具 举报

结帖率:88% (7/8)

签到天数: 6 天

发表于 6 天前 | 显示全部楼层   黑龙江省绥化市

真实鼠标都移动不了小数,模拟就更没办法移动了。
零点几可能说的是 平滑度 或者说是 整个移动轨迹中鼠标移动次数的密度。
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 16 天

发表于 6 天前 | 显示全部楼层   河南省洛阳市
好奇怪的要求~
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 4 天

发表于 6 天前 | 显示全部楼层   河南省郑州市
鼠标移动本身不支持小数精度‌。鼠标的移动是基于物理位移的,每次移动都是整数像素的跳跃,而不是连续的小数移动。屏幕上的光标移动是由鼠标内部的传感器检测到的物理移动距离转换而来的,这个转换过程是离散的,基于整数的‌1。

所谓的小数级,应该是在计算前是小数,最终还是转换成整数了
回复

使用道具 举报

结帖率:29% (2/7)

签到天数: 1 天

 楼主| 发表于 6 天前 | 显示全部楼层   河南省周口市
afu45 发表于 2025-4-10 09:29
鼠标移动本身不支持小数精度‌。鼠标的移动是基于物理位移的,每次移动都是整数像素的跳跃,而不是连续的小 ...

我感觉也是,我就纳闷最低也得是1像素啊,搞个小数级别的配置,应该是有某种算法最后换算成整数的
回复

使用道具 举报

结帖率:29% (2/7)

签到天数: 1 天

 楼主| 发表于 6 天前 | 显示全部楼层   河南省周口市
samll88 发表于 2025-4-10 07:44
计次循环首 (1000, i)
    n = n + 0.3
    鼠标_移动 (, 100 + n, 100)

没意义啊,整数型参数强行填小数型数据会被截断的呀
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 7 天

发表于 6 天前 | 显示全部楼层   广东省佛山市
肯定是噱头,比如SendInputMouse他支持相对移到跟绝对点移动,相对移动不可能填小数,因为他是基于当前坐标位置移动几个像素点的;但是绝对坐标移动不一样,他无论是x还是y最大只有65536,但再不同的屏幕分辨率上需要计算的,比如你想要在(100,100) 这个屏幕坐标点,你不能直接输入这个100,而是根据不同的屏幕分辨率大小计算,比如在1920宽度就填:100/1920*65536=3413.311488;在3440分辨率就是:100/3440*65536=1905.13152
因为计算出来的值有小数点,比如上面1920从100移到101就从3413.311488变成3447.455744
这应该就是那些外行的人认为是小数级别的移动

补充内容 (2025-4-10 11:24):
虽然算出了小数,但是在用的时候还是只取整数部分
回复

使用道具 举报

结帖率:29% (2/7)

签到天数: 1 天

 楼主| 发表于 6 天前 | 显示全部楼层   河南省周口市
7ian 发表于 2025-4-10 11:21
肯定是噱头,比如SendInputMouse他支持相对移到跟绝对点移动,相对移动不可能填小数,因为他是基于当前坐标 ...

您的意思我明白,虽然理论上是这样,但是fps游戏鼠标坐标会一直被重置为屏幕中心点,所以用绝对移动来操作我感觉不现实,我还是感觉他们有一个算法把小数最终计算成整数做 相对移动,但是我又感觉这不是脱裤子放屁么,计算了半天结果还是要么+1 要么-1,所以我还是更侧重于他们拿这个小数去跟间隔时间做计算,即使是毫秒级的移动延时通过和小数做运算的效果也比和移动量做运算可行性高,更不用说用微秒级的延迟间隔了,只是都是猜测,没发验证,我又有强迫症,巨难受
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表