按键精灵脚本如何适应不同的分辨率?

 我来答
消化robckd15b
2019-05-11 · TA获得超过396个赞
知道答主
回答量:315
采纳率:96%
帮助的人:64.3万
展开全部

游戏中的分辨率,和系统的屏幕分辨率,其实是两个东西。并不是你修改了系统屏幕分辨率为1920*1080,游戏的分辨率就会改成1920*1080。

当然有些游戏,你调整它的分辨率的时候,会相应的修改你的系统分辨率。但是这个并不是所有的游戏都这样流氓的。

游戏分辨率和系统屏幕分辨率区分:

图1-1920*1080分辨率下窗口的大小637.441

图2-1280*720分辨率下窗口的大小637.441

  当游戏窗口固定的时候(游戏的分辨率固定时),你调整系统的屏幕分辨率,其实只是肉眼中图标变大了。实际上,游戏窗口的分辨率并没有变。

如上图,一个是系统分辨率1920*1080的屏幕分辨率,一个是1280*720的屏幕分辨率,看起来好像软件变大了。其实在软件这个窗口的大小是没有变的,只是视觉误差。从上图的客户区大小的数值就可以看出来。

游戏分辨率改变,图标大小不变,坐标动态变化

解决方法:通过找图:游戏图标不变,找图的方式是最便捷的。

代码例子:

         hwnd =Plugin.Window.MousePoint()//获取鼠标指定窗口的窗口句柄


         sRect =Plugin.Window.GetClientRect(Hwnd)//获取窗口客户区大小


         s=split(sRect,"|")


         qx=s(0):qy=s(1):zx=s(2):zy=s(3)//qx,qy是左上角的 xy坐标; zx是窗口的宽,zy是窗口的高 


         CallFindPic(260,186,zx*0.5,zy*0.5,"游戏图片.bmp",0.9,mx,my)


        这里的qx,qy两个原始坐标(例子中的qx,qy原始坐标为 (0,0)),用实际坐标  260,186代替,因为不管按键窗口怎么缩小,我们要找的图标最终的位置是在260,186,分辨率变大图标则往右边移动。

图3-800*600分辨率下“精品教程”图标位置大小


图4-1024*768分辨率下“精品教程”图标位置大小

为什么要在“CallFindPic(260,186,zx*0.5,zy*0.5,"游戏图片.bmp",0.9,mx,my)”这里zx,zy乘以0.5呢?就是咱提高脚本效率的秘籍了。找图范围缩小为窗口的一半,因为例子中的图标不管窗口分辨率多大,图标在窗体中的位置比例都不会改变。为了更效率的找图,尽量减少找图的范围减少找图的时间。如下:

图5-800*600分辨率下“精品教程”图标在窗体的长1/2、宽1/2左右


图6-1024*768分辨率下“精品教程”图标在窗体的长1/2、宽1/2左右

游戏分辨率改变,游戏图标等比放大

解决方法:不同的分辨率各制作一套对应的图。调用各分辨率,相对应的图。

        有些游戏,游戏分辨率修改之后,游戏界面图标会等比的放大缩小。这种情况,游戏图标大小会变,位置也会变。 由于各个游戏商使用的图像处理引擎不尽相同,所以根据等比差来进行相对坐标计算是不实际的,这种情况,只能每种游戏分辨率都做一套游戏图标截图。

解决办法:霸王硬上弓,脚本直接修改游戏窗体分辨率,固定窗口大小。

编号′775129ccde21e
2019-05-11 · TA获得超过271个赞
知道答主
回答量:247
采纳率:96%
帮助的人:57.5万
展开全部
这个自动适应好像不太现实,但是你可以在说明里面写上 使用脚本需要将游戏分辨率设置为xxx * xxx啊。如果是桌面分辨率的话 还是很好解决的。你在脚本开头先加上获取当前分辨率,如果一样就继续,如果不一样就将分辨率设置为需要的分辨率。然后结束函数里面加上还原代码就OK拉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三熙42039c1
2019-05-11 · TA获得超过375个赞
知道答主
回答量:268
采纳率:96%
帮助的人:66.9万
展开全部
当游戏窗口固定的时候(游戏的分辨率固定时),你调整系统的屏幕分辨率,其实只是肉眼中图标变大了。实际上,游戏窗口的分辨率并没有变。如上图,一个是系统分辨率1920*1080的屏幕分辨率,一个是1280*720的屏幕分辨率,看起来好像软件变大了。其实在软件这个窗口的大小是没有变的,只是视觉误差。从上图的客户区大小的数值就可以看出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卷展专688
2019-05-11 · TA获得超过560个赞
知道答主
回答量:274
采纳率:96%
帮助的人:62.4万
展开全部
不同的分辨率各制作一套对应的图。调用各分辨率,相对应的图。有些游戏,游戏分辨率修改之后,游戏界面图标会等比的放大缩小。这种情况,游戏图标大小会变,位置也会变。 由于各个游戏商使用的图像处理引擎不尽相同,所以根据等比差来进行相对坐标计算是不实际的,这种情况,只能每种游戏分辨率都做一套游戏图标截图。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
名qgfkk15abd
2019-05-11 · TA获得超过418个赞
知道答主
回答量:258
采纳率:96%
帮助的人:69.6万
展开全部
有时候,游戏里图标和坐标不按常理出牌,变来变去,乱七八糟无法下手。没有办法,咱分分钟都是钱,没时间去整!强行修改使用者的窗体分辨率就出世了。改成脚本适应的分辨率,一了百了。不过这种办法可能会让游戏中的某些元素无法显示,玩家使用的时候体验也不太好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式