Project1
标题:
名称输入处理 窗口,上面的名称文字不想显示光标,能做到
[打印本页]
作者:
惊天动地
时间:
2012-8-24 10:23
标题:
名称输入处理 窗口,上面的名称文字不想显示光标,能做到
本帖最后由 惊天动地 于 2012-8-24 11:06 编辑
大侠们好
我的是xp的游戏, 弄了个名称输入处理,我想在上面不显示矩形光标,看不见光标图案,能做到吗?帮帮我。谢谢了
未命名1.jpg
(16.16 KB, 下载次数: 5)
下载附件
保存到相册
2012-8-24 10:22 上传
就是这个方形图标,想去掉 不显示,谢谢帮助 dsu_plus_rewardpost_czw
作者:
失落的乐章
时间:
2012-8-24 12:00
用这段脚本替换掉Window_NameEdit的内容。
#==============================================================================
# ■ Window_NameEdit
#------------------------------------------------------------------------------
# 名称输入画面、编辑名称的窗口。
#==============================================================================
class Window_NameEdit < Window_Base
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_reader :name # 名称
attr_reader :index # 光标位置
#--------------------------------------------------------------------------
# ● 初始化对像
# actor : 角色
# max_char : 最大字数
#--------------------------------------------------------------------------
def initialize(actor, max_char)
super(0, 0, 640, 128)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
@name = actor.name
@max_char = max_char
# 控制名字在最大字数以内
name_array = @name.split(//)[0...@max_char]
@name = ""
for i in 0...name_array.size
@name += name_array[i]
end
@default_name = @name
@index = name_array.size
refresh
end
#--------------------------------------------------------------------------
# ● 还原为默认的名称
#--------------------------------------------------------------------------
def restore_default
@name = @default_name
@index = @name.split(//).size
refresh
end
#--------------------------------------------------------------------------
# ● 添加文字
# character : 要添加的文字
#--------------------------------------------------------------------------
def add(character)
if @index < @max_char and character != ""
@name += character
@index += 1
refresh
end
end
#--------------------------------------------------------------------------
# ● 删除文字
#--------------------------------------------------------------------------
def back
if @index > 0
# 删除一个字
name_array = @name.split(//)
@name = ""
for i in 0...name_array.size-1
@name += name_array[i]
end
@index -= 1
refresh
end
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# 描绘名称
name_array = @name.split(//)
for i in 0...@max_char
c = name_array[i]
if c == nil
c = "_"
end
x = 320 - @max_char * 14 + i * 28
self.contents.draw_text(x, 32, 28, 32, c, 1)
end
# 描绘图形
draw_actor_graphic(@actor, 320 - @max_char * 14 - 40, 80)
end
def update
super
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1