让XP工程用上RGD的简易教程
事先准备:1, RMXP
2, RMVA的RGSS301.DLL
3, RGD
如果需要加密
则还需要整个RMVA(加密的正确姿势: RMVA新建一个工程,开着这个RMVA工程的同时跑到这个工程文件夹里删光所有东西,把RMXP的工程全部拷贝过来,在RMVA里选择打包和加密对,就是这么奇葩,是不是很好玩(大雾))
如果需要商业发布,则RMXP和RMVA都必须是正版.(或者依法等到RMXP和RMVA首次发布后50年 )
流程如下:
首先打开RMXP
1, 用RMXP打开你的RMXP工程
2, 打开F1帮助文件
3,打开脚本编辑器
4,在F1帮助文件中找到RGSS参考游戏库 RPGXP数据结构
5, 将此条目下所有的脚本插入到脚本编辑器里的最上端.
6, 找一个实现RMXP的TILEMAP的脚本,放入工程内.
7, 在main里加入一行Graphics.SAresize_screen(640,480)
8,现在你差不多可以关掉RMXP了
在RMXP工程文件夹内建立Fonts和Windowskins 文件夹 然后从RMVA那里找到喜欢的字体并修改原来RMXP的窗口皮肤为RMVA对应的样子. (这步并不重要)
找到RMVA的RGSS301.DLL丢到RMXP的工程文件夹里
找到小黄鸡和⑨写的RGD的EXE覆盖掉RMXP的GAME.EXE
找到GAME.INI把里面的RGSS103J.DLL改成RGSS301.DLL
一般的同学到这步就差不多了.
对于脚本使用较多的同学可能遇到一些常见问题如下:
如果发生字符串ASCII和UTF8打架
参考这段东西来重载字符串吧. (打架原因是RMXP用的RUBY1.8字符串比较奔放随意,RMVA和RGD用RUBY1.9的字符串自带编码属性,可以考虑自己逐个检查,但是像我这样懒得去检查RMXP工程里几万行代码的同学用下面这段基本都能搞定.)
RUBY 代码
classString
alias old_plus +
def +(other)
ifself.is_a?(String)and other.is_a?(String)
ifself.encoding.name != "UTF-8"
#p self.encoding.name
end
ifself.encoding.name == "UTF-8"and other.encoding.name == "ASCII-8BIT"
news = old_plus(other.force_encoding("UTF-8"))
#p news
return news
end
ifself.encoding.name == "ASCII-8BIT"and other.encoding.name == "UTF-8"
news = self.force_encoding("UTF-8").old_plus(other)
return news
end
end
return old_plus(other)
end
end
如果脚本中有用到DIR/REQUIRE之类的函数发生ASCII-8BIT暴毙问题,请寻找转码脚本解决.
目前石器的测试版本经过3天测试未发生严重异常.
已知现存的所有RMXP工程复杂程度都不可能超过石器,毕竟你们的项目都没开发超过15年 (大雾),所以大家应该不会出什么问题.(大雾)
按照这个方法来玩的话@fux2 就不用额外写RGDXP了 {:4_117:}
本帖来自P1论坛作者orochi2k,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=479486若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]