Project1
标题:
尝试突破次元壁 ver0.01
[打印本页]
作者:
J_G_Mike
时间:
2020-5-24 19:51
标题:
尝试突破次元壁 ver0.01
接触RPG Maker XP不久,简单的实现了几个效果。
ver0.01
Play_Window.zip
(214.83 KB, 下载次数: 63)
2020-5-24 19:50 上传
点击文件名下载附件
ver 0.01
效果说明:
1. title界面640x480,进入游戏后,自动变成244x244分辨率
2.通过 主键盘的 加减号 可以 随时控制显示窗口大小
3.通过主键盘数字0,控制角色是否在地图上运动
4.通过主键盘数字9,控制窗口是否在桌面上运动
5.通过主键盘数字8,控制外围窗口的显示。
目前的问题:
1. 由于游戏显示范围是直接定义在Tilemap中的,也就是每一次更新分辨率后,需要重新刷新整个屏幕才能完成设置。
目前的方法,直接用开始新游戏进行刷新,所以每次更改分辨率后会回到初始位置。
之后会通过:改变分辨率->保存游戏->读取游戏->刷新界面 来解决。
2. 目前还没有办法让控件走出窗口,现在只是隐藏了外围窗口。
正在研究如何窗口透明化的同时,控件进行正常显示。
如果大家有更好的Win32API方案,或者更好的思路欢迎讨论。
3. 目前 win7 32位系统 可以正常运行,其他系统 尚不可知。
4. 因为要一开始导入窗口信息,所以加载稍微有点慢...
关于程序:
1. 因为原版程序的Tilemap是完全隐藏掉的,所以,需要重写这一部分。
目前这一部分程序来自于:真·RMXP分辨率拓展 By 紫英晓狼工作室
原版下载地址: https://rpg.blue/thread-362553-1-1.html
2. 写了一个Win32API的类
3. 程序中带★的脚本用于控制分辨率,●的脚本控功能实现。
关于感谢:
之前的帖子:https://rpg.blue/thread-481867-1-1.html
感谢 “紫英晓狼1130” 和 "shmily0725" 提供的思路
接下来,关于窗口隐藏与控件提取,如果大家有更好的思路,欢迎分享。
同时,如果大家还有其他的思路,也欢迎一起讨论。
谢谢大家了...
作者:
SixRC
时间:
2020-5-25 03:14
报两个bug
1.GetKeyState 返回值类型是 short 16位 而Win32API中 不论是 i I n N l L 都是返回 int 型 32位
举个例子 api返回 0xFFFF ruby收到 65535 但这对于 short来说是-1
api返回 0xFFFFFFFF ruby收到 -1 对于 short来说也是 -1
你是无法确定操作系统到底返回哪种的 你只知道 按官方文档 返回值是 short 所以高16位需要人工抛掉 或者按位来判定返回值
需要返回 [status].pack("l").unpack("s")[0]
发现这个bug是因为在我这里 系统已经抛掉了高16位 导致ruby端收到的值永远非负
2.SetWindowRgn 在我这里 导致了窗口样式的变化 不过好像是rm自带bug 我不能确定 也不会修..
ori.png
(6.02 KB, 下载次数: 12)
下载附件
保存到相册
2020-5-25 03:10 上传
after.png
(6.3 KB, 下载次数: 17)
下载附件
保存到相册
2020-5-25 03:10 上传
其他没啥了
我好吃懒做 就只会报报bug了
作者:
enghao_lim
时间:
2020-5-25 13:31
这玩意大概就是烧破脑也不一定要得上的功能
,不过很值的鼓励。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1