Project1

标题: 输入名字的界面如何改变光标位置? [打印本页]

作者: yufantasy    时间: 2016-5-17 22:05
标题: 输入名字的界面如何改变光标位置?
本帖最后由 yufantasy 于 2016-5-19 08:24 编辑

游戏开始,先输入角色名字,我用的是网络游戏中建立角色的图片做为自己工程游戏中输入名字的界面,但是请问下各位大神们,如何定义输入的光标“|”的位置?好像默认光标“|”的位置在图标上面,而图片中的输入角色名称的框在图片的下方!由于家里没有网络坏了,用手机提问,不能传图片,请懂的大神们教教我,感谢!

这个是我做的测试工程链接:http://pan.baidu.com/s/1jHDYRAm

IMG_20160518_120609.JPG (1.58 MB, 下载次数: 14)

IMG_20160518_120609.JPG

作者: yufantasy    时间: 2016-5-18 19:02
没有人吗?自己顶下免得沉了,图片已上传就是想把光标移动到输入名称的黑色位置,字体颜色我知道在哪里定义,就是不明白这个光标?
作者: 乐之魂    时间: 2016-5-18 21:11
本帖最后由 乐之魂 于 2016-5-18 21:12 编辑

RUBY 代码复制
  1. self.contents.draw_text(0,-10,620,48,@text.to_s+"|")



搜索下你说的“|”,在window_ChatInput里找到这行,第一个0是光标的x,-10是光标y

你自己试着一个个改,最好不要两个一起改,因为怕全改就跑到屏幕外面去了。
作者: yufantasy    时间: 2016-5-19 08:16
本帖最后由 yufantasy 于 2016-5-19 08:26 编辑
乐之魂 发表于 2016-5-18 21:11
self.contents.draw_text(0,-10,620,48,@text.to_s+"|")[/pre]


我搜索了下 唯一只留下这个语句 GetKeyState = Win32API.new("user32","GetAsyncKeyState",['I'],'I')

另外我觉得这个光标定义应该在 完美输入法~最终修正版 这个脚本里面;不在   Scene_Name 或则 Window_NameEdit  Window_NameInput里面

因为重新编辑了Scene_Name 我找不到如何修改光标语句
作者: yufantasy    时间: 2016-5-19 08:20
本帖最后由 yufantasy 于 2016-5-19 15:34 编辑

这个实现效果脚本是在网上搜到的有改动的是 Scene_Name 和增加了个 完美输入法~最终修正版

Project1.rar

1.13 MB, 下载次数: 64


作者: yufantasy    时间: 2016-5-19 08:22
本帖最后由 yufantasy 于 2016-5-19 15:40 编辑

在 完美输入法~最终修正版

终于找到了,我在这个脚本位置找到了矩形框位置; 并将原脚本:

# 视口
    rect = v.rect
    @v = Viewport.new(rect.x,rect.y,rect.width,rect.height)

改成了:

# 视口
    rect = v.rect
    @v = Viewport.new(170,325,rect.width,rect.height)


光标位置脚本:
# 光标Caret
    @v1 = Viewport.new(rect.x,@caret_y,@w + 3,@caret_h)
    @v1.z = 99999

改成了:

# 光标Caret
    @v1 = Viewport.new(170,325,@w + 3,@caret_h)
    @v1.z = 99999


虽然效果达成了,但是不知道对不对,会不会造成脚本冲突;
作者: 乐之魂    时间: 2016-5-20 09:14
yufantasy 发表于 2016-5-19 08:20
这个实现效果脚本是在网上搜到的有改动的是 Scene_Name 和增加了个 完美输入法~最终修正版

...

我用的是这个https://rpg.blue/forum.php?mod=viewthread&tid=136595

作者: 乐之魂    时间: 2016-5-20 19:41
yufantasy 发表于 2016-5-19 08:22
在 完美输入法~最终修正版

终于找到了,我在这个脚本位置找到了矩形框位置; 并将原脚本:

不能直接改成数值,要用+

在288行 #光标Caret

@v1= Viewport.new(rect.x + 90,@caret_y + 200,@w+3,@caret_h)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1