- 注册时间
- 2004-9-24
- 最后登录
- 2019-4-21
④见习
- 积分
- 439
|
支持背景图片之后用起来就比以前麻烦了……
------------------------------
要使用[notexist]的Windows对话框角色名称输入组件,首先必须下载以下动态链接库(463K):
http://www.fslcy.com.cn/RGSSInputBox.dll
并且将这个文件放到你的工程目录中去,也就是game.exe所在的目录
(如果你用了旧的RgssInputBox.dll,则应当用这个新的覆盖)
当放置好动态链接库RgssInputBox.dll之后,用RMXP打开工程文件,并且打开脚本编辑器
在Main之前插入一个脚本,名称随便取,然后在脚本中粘贴以下信息:
(如果你已经写入了配合之前dll的旧脚本,请先删除旧的脚本)
#--------------------------------------------------------------------------
# ● 显示RgssInputBox.dll中的输入角色名称的对话框
# 作者:notexist
#--------------------------------------------------------------------------
def ActorNameInput(actorID)
actor = $game_actors[actorID]
thename = actor.name
thename = $NameInputBox.Call(thename)
actor.name = thename
end $NameInputBox = Win32API.new(\
"RgssInputBox.dll", "NameInputBox", ['P'], 'P') #创建对话框窗口,在调用NameInputBox之前必须调用这个函数
$CreateInputBox = Win32API.new(\
"RgssInputBox.dll", "CreateInputBox", [], '') #设置窗口,参数分别为宽度,高度,和载入的skin图片是否拉伸
#在后面的LoadSkin调用中会根据图片情况自动设置窗口宽度高度
#所以不必手工调用这个函数
$InputBox_SetBox = Win32API.new(\
"RgssInputBox.dll", "SetBox", ['I','I','I'], '') #载入背景图片,内容为图片的文件名(不包括路径)
#支持BMP和GIF,载入后会自动设置输入的窗口宽度和高度
$InputBox_LoadSkin = Win32API.new(\
"RgssInputBox.dll", "LoadSkin", ['P'], '') #设置窗口中文本输入框的位置和大小
#参数分别为X偏移(偏移相对于窗口左上角),Y偏移,宽度,高度
#以及输入框底色的蓝色,绿色,红色分量,颜色分量的范围是0~255
$InputBox_SetEdit = Win32API.new(\
"RgssInputBox.dll", "SetEdit", ['I','I','I','I','I','I','I'], '') #设置文本输入框内输入文字的字体信息
#参数分别为字体名称(例如“宋体”),字体大小(五号字为11)
#字体颜色的蓝色,绿色,红色分量,颜色分量的范围是0~255
$InputBox_SetEditFont = Win32API.new(\
"RgssInputBox.dll", "SetEditFont", ['P','I','I','I','I'], '') #释放对话框窗口,理论上创建之后就应该释放,不过游戏退出时应该能自动释放
#所以不必手工调用这个函数
$FreeInputBox = Win32API.new(\
"RgssInputBox.dll", "FreeInputBox", [], '') #创建
$CreateInputBox.Call
#载入背景图fox.jpg,这时设定了窗口宽度高度
$InputBox_LoadSkin.Call('fox.jpg')
#设置文本输入框位置,并且设定底色为红色
$InputBox_SetEdit.Call(50,20,200,32,0,0,255)
#设定输入字体为黑体,字号为12(应该是“小四”),颜色为白色
$InputBox_SetEditFont.Call('黑体',12,255,255,255)
#重新设置输入窗口宽度和高度
$InputBox_SetBox.Call(300,72,0)
这样名称输入框就准备就绪了
要使用角色输入窗口,请在事件中加入一行执行内容,选择类型为“脚本”
并在脚本输入窗口中输入以下内容:
其中前面一个“1”为角色的编号,更改这个编号就可以为不同的角色输入名字
输入完毕之后按回车键返回游戏。
要以不同的提示界面输入不同的的角色名字,必须在输入之前载入不同的图片背景,调用的脚本内容可能会变成这样:
$InputBox_LoadSkin.Call('另一张背景图片.jpg')
ActorNameInput(2)
注意背景图片必须放置在游戏根目录中,也就是game.exe和rgssinput.dll同一个目录
事件执行的时候输入角色姓名,可以在输入时使用Windows输入法,并且在全屏时一样有效
使用输入框时切换全屏/窗口模式产生的“脚本已备份”退出游戏BUG仍然存在……我不管了[em05]
使用效果示例如下图所示:
[此贴子已经被作者于2004-10-25 13:57:32编辑过] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|