游戏王ygopot吧 关注:349贴子:3,717
  • 2回复贴,共1

【一般讨论】如何自动提高ygopro的分辨率,求高手指点

只看楼主收藏回复

我把思路过程都发出来吧,用讨论的形式,利于提供线索。
有想法就提出来。

我的电脑操作句柄总会变成这样
好像pro是绝对布局和相对布局混用的
你那是音效版?还是原版
原版
原版不能用来测这个
它本来就没有被拉伸的设计,编译好的界面是没有最大化按钮的
要用音效版来测试
原来如此,我说的
32位xp好用了,放在根目录就行
你这个frame_config.exe,打不开的
它只是获取pro的句柄然后设置大小,瞬间就会执行完
必须先开pro
启动器.bat里我先启动pro后启动的frame
我看过BAT的语句了
开启之后是 1040 678 这是你的设置吗
我写的是1280, 832
可能我在32位机上编译的程序不能执行

这并不是最好写法……现在不从这个bat启动就要手动运行一次frame
比如用游侠或者mc启动都不行
EXE来调用,相当于启动器
被启动程序名需要能修改吗
可以弄成配置文件
如果是配置,配置:
分辨率
启动路径
还有啥
启动时窗口左上角的坐标
改分辨率,图片就出马赛克,或多或少
所以原版没有那个调大小的
你做好了这个配置器,分辨率是现在这个,我就现在开始做相应的卡图
也就是接近写死的了
如果可以配置路径,别人配置个原版,就这样坑了
所以这配置是不知道配置什么好
这个长和宽是绝对窗口大小,也就是加上窗口边框和标题栏的
我那个+32是因为我的系统标题栏是32
先做成一个读取配置的EXE吧
这个可能和系统样式有关
这个EXE你会做吗?
应该能做
现在的问题是,用c语言启动的pro进程不会在生成窗口句柄的时候返回信息
只能手工估计一个时间再去获取句柄,如果在句柄生成之前试着修改大小就会错误
我把延时也作为一个参数放在配置文件里
现在粒度很低,只能精确到秒,还是估计值
控制台参数没作测试,不知道好不好使
差不多了,你找找源码上面

对应这个比例的ygopro,版本所规定的卡图比例,估计大概在254,177左右的

不用了,我搜到了,那你把那个转换尺寸的,做个发全屏命令的,能不能做到

全屏好像没有api
那个开始游戏现在是延时1秒
无延时是最好的吧
一点不延时的话可能获取窗口句柄的时候窗口进程还没起来
还没起来的,是电脑性能比较差的吧
我的电脑就不行
那个延迟,只能精准到秒吗
1.5秒之内不行的吧
如果需要可以更精确
这好改
可以改成以毫秒为粒度
那试试
现在配置文件里写1000就是1秒了
这东西的图标我还是改不
改图标的工具没
回去我换个工具编译
那个EXE呢
图标只能在编译过程中确定,之后就不能改
这图标可以
这是个单机游戏的图标,没事
就这个
你做的那个自动拉伸,我发现拉伸完,跑去了左上角
你发现这个问题了吗
和系统有关吧,我的没有

有的电脑没出现这个问题
需要改吗
你可以让它拉伸完不跑去左上角?
不知道
可能可以手动置于一个位置
那试试,你手头有这个EXE吧

设置上下左右都居中
MoveWindow(wnd,0,0,atoi(GetInitKey("config.ini", "config", "weight")),atoi(GetInitKey("config.ini", "config", "height"))+32,NULL);这句话是这样,设置左上角坐标和窗口长宽
结果就从左上角开始拉了
默认是0 0
如果要正中拉,得四个角等距离拉?
现在需要获取屏幕大小 然后计算出左上角坐标
那咋改,改到依然是正中
x=(屏幕宽-窗口宽)/2 y同理
哦,还是确定左上角,但是位置对了
那试试
你看任务栏。
1.是否需在计算的时候,把任务栏排除,不当做屏幕的一部分来算,只需要知道任务栏的大概高度。也就是说,让游戏在除了任务栏的屏幕中居中;
2.或者,让游戏左右居中,但是在上下的位置讲究上,一直是顶着上面的。
好像第一种方案更好,你再想想有什么布置方法吧
任务栏高度不知道能不能获得
一直顶格倒是容易,y改成0就行了
如果不能获得,写进去一个任务栏高度的大概值也差不多


IP属地:广东1楼2016-06-17 15:56回复
    所以楼主把这软件分辨率搞大了吗?


    IP属地:四川3楼2017-07-27 13:40
    收起回复