- 注册时间
- 2007-1-29
- 最后登录
- 2007-7-13
⑤进阶
- 积分
- 547
|

楼主 |
发表于 2007-2-2 15:29:37
|
显示全部楼层
我改了 可是他说71行有错误帮我看看
- #==============================================================================
- # ■ Window_NameInput
- #------------------------------------------------------------------------------
- # 输入名称的画面、文字选择窗口。
- #==============================================================================
- class Window_NameInput < Window_Base
- CHARACTER_TABLE =
- [
- "A","B","C","D","E",
- "F","G","H","I","J",
- "K","L","M","N","O",
- "P","Q","R","S","T",
- "U","V","W","X","Y",
- "Z"," "," " " "," ",
- "・","〔","〕","¤","☆",
- "0","1","2","3","4",
- "5","6","7","8","9",
- "a","b","c","d","e",
- "f","g","h","i","j",
- "k","l","m","n","o",
- "p","q","r","s","t",
- "u","v","w","x","y",
- "z"," "," "," "," ",
- "阿","小","木","兰","水",
- "斯","树","云","仙","风",
- "迪","一","般","大","子",
- "闪","雷","鸣","鸟","寒",
- "莲","光","灵","雪","冰",
- "洛","萨","克","娜","龙",
- "名","良","磊","凡","伟",
- "强","星","飞","女","莹",
- "雨","茜","南","男","可",
- "神","帝","春","夏","秋",
- "梅","草","其","花","冬",
- "菊","竹","绫","樱","月",
- "蓝","贝","罗","莉","璐",
- "米","苗","非","丽","文",
- "而","尔","丝","玛","多",
- "巴","音","力","香","明",
- "奇","特","桑","提","瓦",
- "索","奥","普","爱","艾",
- "科","瑞","琳","顿","尼",
- "新","乌","暗","伊","德",
- "塞","珂","凤","凰","得",
- ]
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(0, 128, 640, 352)
- self.contents = Bitmap.new(width - 32, height - 32)
- @index = 0
- refresh
- update_cursor_rect
- end
- #--------------------------------------------------------------------------
- # ● 获取文字
- #--------------------------------------------------------------------------
- def character
- return CHARACTER_TABLE[@index]
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- for i in 0..179
- x = 4 + i / 5 / 9 * 152 + i % 5 * 28
- y = i / 5 % 9 * 32
- self.contents.draw_text(x, y, 28, 32, CHARACTER_TABLE[i], 1)
- end
- self.contents.draw_text(544, 9 * 32, 64, 32, "确定", 1)
- end
- #--------------------------------------------------------------------------
- # ● 刷新光标矩形
- #--------------------------------------------------------------------------
- def update_cursor_rect
- # 光标位置在 [确定] 的情况下
- if @index >= 180
- self.cursor_rect.set(544, 9 * 32, 64, 32)
- # 光标位置在 [确定] 以外的情况下
- else
- x = 4 + @index / 5 / 9 * 152 + @index % 5 * 28
- y = @index / 5 % 9 * 32
- self.cursor_rect.set(x, y, 28, 32)
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- def update
- super
- # 光标位置在 [确定] 的情况下
- if @index >= 180
- # 光标下
- if Input.trigger?(Input::DOWN)
- $game_system.se_play($data_system.cursor_se)
- @index -= 180
- end
- # 光标上
- if Input.repeat?(Input::UP)
- $game_system.se_play($data_system.cursor_se)
- @index -= 180 - 40
- end
- # 光标位置在 [确定] 以外的情况下
- else
- # 按下方向键右的情况下
- if Input.repeat?(Input::RIGHT)
- # 按下状态不是重复的情况下、
- # 光标位置不在右端的情况下
- if Input.trigger?(Input::RIGHT) or
- @index / 45 < 3 or @index % 5 < 4
- # 光标向右移动
- $game_system.se_play($data_system.cursor_se)
- if @index % 5 < 4
- @index += 1
- else
- @index += 45 - 4
- end
- if @index >= 180
- @index -= 180
- end
- end
- end
- # 按下方向键左的情况下
- if Input.repeat?(Input::LEFT)
- # 按下状态不是重复的情况下、
- # 光标位置不在左端的情况下
- if Input.trigger?(Input::LEFT) or
- @index / 45 > 0 or @index % 5 > 0
- # 光标向右移动
- $game_system.se_play($data_system.cursor_se)
- if @index % 5 > 0
- @index -= 1
- else
- @index -= 45 - 4
- end
- if @index < 0
- @index += 180
- end
- end
- end
- # 按下方向键下的情况下
- if Input.repeat?(Input::DOWN)
- # 光标向下移动
- $game_system.se_play($data_system.cursor_se)
- if @index % 45 < 40
- @index += 5
- else
- @index += 180 - 40
- end
- end
- # 按下方向键上的情况下
- if Input.repeat?(Input::UP)
- # 按下状态不是重复的情况下、
- # 光标位置不在上端的情况下
- if Input.trigger?(Input::UP) or @index % 45 >= 5
- # 光标向上移动
- $game_system.se_play($data_system.cursor_se)
- if @index % 45 >= 5
- @index -= 5
- else
- @index += 180
- end
- end
- end
- # L 键与 R 键被按下的情况下
- if Input.repeat?(Input::L) or Input.repeat?(Input::R)
- # 平假名 / 片假名 之间移动
- $game_system.se_play($data_system.cursor_se)
- if @index / 45 < 2
- @index += 90
- else
- @index -= 90
- end
- end
- end
- update_cursor_rect
- end
- end
复制代码 |
|