超级雷人死板起名系统
简介:雷人,为什么雷人,看脚本就懂了,死板,应为界面有些死板使用方法:在main之前插入
功能:
可以设置许多页,但一定要照着顺序
比如说第一页为Character第二也就必须Character...以此类推
每一页的最后四个一定要是"上页","下页","退格","确定"这四个(意思一样也可以)
这是脚本:module NameInputCharacter = []Character = ["赵","钱","孙","李","周","吴","郑","王","冯","陈", "褚","卫","蒋","沈","韩","杨","朱","秦","尤","许", "何","吕","施","张","孔","曹","严","华","金","魏", "陶","姜","戚","谢","邹","喻","柏","水","窦","章", "云","苏","潘","葛","奚","范","彭","郎","鲁","韦", "昌","马","苗","凤","花","方","俞","任","袁","柳", "酆","鲍","史","唐","费","廉","岑","薛","雷","贺", "倪","汤","滕","殷","罗","毕","上页","下页","退格","确认"]Character = ["郝","邬","安","常","乐","于","时","傅","皮","卞", "齐","康","伍","余","元","卜","顾","孟","平","黄", "和","穆","萧","尹","姚","邵","堪","汪","祁","毛", "禹","狄","米","贝","明","臧","计","伏","成","戴", "谈","宋","茅","庞","熊","纪","舒","屈","项","祝", "董","粱","杜","阮","蓝","闵","席","季","麻","强", "贾","路","娄","危","江","童","颜","郭","梅","盛", "林","刁","钟","徐","邱","骆","上页","下页","退格","确认"]Character = ["高","夏","蔡","田","樊","胡","凌","霍","虞","万", "支","柯","咎","管","卢","莫","经","房","裘","缪", "干","解","应","宗","宣","丁","贲","邓","郁","单", "杭","洪","包","诸","左","石","崔","吉","钮","龚", "程","嵇","邢","滑","裴","陆","荣","翁","荀","羊", "於","惠","甄","魏","加","封","芮","羿","储","靳", "汲","邴","糜","松","井","段","富","巫","乌","焦", "巴","弓","牧","隗","山","谷","上页","下页","退格","确认"]Character = ["车","侯","宓","蓬","全","郗","班","仰","秋","仲", "伊","宫","宁","仇","栾","暴","甘","钭","厉","戎", "祖","武","符","刘","姜","詹","束","龙","叶","幸", "司","韶","郜","黎","蓟","薄","印","宿","白","怀", "蒲","台","从","鄂","索","咸","籍","赖","卓","蔺", "屠","蒙","池","乔","阴","郁","胥","能","苍","双", "闻","莘","党","翟","谭","贡","劳","逄","姬","申", "扶","堵","冉","宰","郦","雍","上页","下页","退格","确认"]Character = ["郤","璩","桑","桂","濮","牛","寿","通","边","扈", "燕","冀","郏","浦","尚","农","温","别","庄","晏", "柴","瞿","阎","充","慕","连","茹","习","宦","艾", "鱼","容","向","古","易","慎","戈","廖","庚","终", "暨","居","衡","步","都","耿","满","弘","匡","国", "文","寇","广","禄","阙","东","殴","殳","沃","利", "蔚","越","夔","隆","师","巩","厍","聂","晁","勾", "敖","融","冷","訾","辛","阚","上页","下页","退格","确认"]Character = ["那","简","饶","空","曾","毋","沙","乜","养","鞠", "须","丰","巢","关","蒯","相","查","后","荆","红", "游","竺","权","逯","盖","益","桓","公","万","俟", "司","马","上","官","欧","阳","夏","侯","诸","葛", "闻","人","东","方","赫","连","皇","甫","尉","迟", "公","羊","澹","台","公","冶","宗","政","濮","阳", "淳","于","仲","孙","太","叔","申","屠","公","孙", "乐","正","轩","辕","令","狐","上页","下页","退格","确认"]Character = ["钟","离","闾","丘","长","孙","慕","容","鲜","于", "宇","文","司","徒","司","空","亓","官","司","寇", "仉","督","子","车","颛","孙","端","木","巫","马", "公","西","漆","雕","乐","正","壤","驷","公","良", "拓","拔","夹","谷","宰","父","谷","粱","晋","楚", "闫","法","汝","鄢","涂","段","干","百","里","东", "郭","南","门","呼","延","妫","海","羊","舌","微", "生","岳","帅","缑","亢","况","上页","下页","退格","确认"]Character = ["後","有","琴","梁","丘","左","丘","东","门","西", "门","商","牟","佘","佴","伯","赏","南","宫","墨", "哈","谯","笪","年","爱","阳","佟","第","五","言", "福","百","家","姓","续","林","狗","猫","蛇","鼠", "大","小","上","下","英","有","去","无","回","雷", "人","俊","豪","杰","顺","利","上页","下页","退格","确认"]Character = ["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","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",",",".","/",";","'","[","]","`", "-","=","","?",":","上页","下页","退格","确认"]Character = ["{","}","!","@","$","%","^","&","*","(", ")","_","+","|","☆","★","○","●","◎","◇", "◆","□","■","△","▲","※","→","←","↑","↓", "〓","上页","下页","退格","确认"]Character = ["あ","い","う","え","お","か","き","く","け","こ", "さ","し","す","せ","そ","た","ち","つ","て","と", "な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ", "ま","み","む","め","も","や", "ゆ","よ","ら","り", "る","れ","ろ","わ", "を","ん","が","ぎ","ぐ","げ", "ご","ざ","じ","ず","ぜ","ぞ","だ","ぢ","づ","で", "ど","ば","び","ぶ","べ","ぼ","ぱ","ぴ","ぷ","ぺ", "ぽ","ゃ","上页","下页","退格","确认"]endclass Window_Name_Input < Window_Selectabledef initialize(command=[]) super(144,160, 352, 288) @item_max = command.size @column_max = 10 @commands = command self.contents = Bitmap.new(320, 256) refresh self.index = 0end#--------------------------------------------------------------------------# ● 刷新#--------------------------------------------------------------------------def refresh(cmd=@commands) @commands = cmd @item_max = @commands.size self.contents.clear for i in 0...@item_max draw_item(i, normal_color) endend#--------------------------------------------------------------------------# ● 描绘项目# index : 项目编号# color : 文字色#--------------------------------------------------------------------------def draw_item(index, color) self.contents.font.color = color # 计算得出当前index所对应的内容所在的行 row_index = index / @column_max # 根据余数得出所在的列 for i in 0...@column_max if index % @column_max == i rect = Rect.new(i * 32 + 2, 32 * row_index, 28,32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands.to_s,1) break end endenddef update_cursor_rect # 光标位置不满 0 的情况下 if @index < 0 self.cursor_rect.empty return end # 获取当前的行 row = @index / @column_max # 当前行被显示开头行前面的情况下 if row < self.top_row # 从当前行向开头行滚动 self.top_row = row end # 当前行被显示末尾行之后的情况下 if row > self.top_row + (self.page_row_max - 1) # 从当前行向末尾滚动 self.top_row = row - (self.page_row_max - 1) end # 计算光标的宽度 cursor_width = (self.width - 32) / @column_max # 计算光标坐标 x = @index % @column_max * (cursor_width) y = @index / @column_max * 32 - self.oy # 更新光标矩形 self.cursor_rect.set(x, y, cursor_width, 32)endendclass Scene_Nameinclude NameInputdef main @spriteset = Spriteset_Map.new @actor = $game_actors[$game_temp.name_actor_id] @name = $game_actors[$game_temp.name_actor_id].name @defult_name = $game_actors[$game_temp.name_actor_id].name @max = $game_temp.name_max_char @pages = 0 @character = Character[@pages] @edit_window = Window_Name_Input.new(@character) @name_window = Window_Base.new(144,64,352,96) @name_window.contents = Bitmap.new(320,64) refresh Graphics.transition loop do Input.update Graphics.update update break if $scene != self end Graphics.freeze @spriteset.dispose @edit_window.dispose @name_window.disposeenddef update @edit_window.update if Input.trigger?(Input::L) if Character.size != 1 @pages -= 1 @pages = Character.size - 1 if @pages < 0 @character = Character[@pages] @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size @edit_window.refresh(@character) end elsif Input.trigger?(Input::R) if Character.size != 1 @pages += 1 @pages = 0 if @pages >= Character.size @character = Character[@pages] @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size @edit_window.refresh(@character) end elsif Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) if @name != "" @scan = @name.scan(/./) @scan[@scan.size - 1] = nil @name = "" for i in @name += @scan if @scan != nil end refresh end elsif Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) case @edit_window.index when @character.size - 1 @name = @defult_name if @name == "" $game_actors[$game_temp.name_actor_id].name = @name $scene = Scene_Map.new return when @character.size - 2 if @name != "" @scan = @name.scan(/./) @scan[@scan.size - 1] = nil @name = "" for i in @name += @scan end end when @character.size - 3 if Character.size != 1 @pages += 1 @pages = 0 if @pages >= Character.size @character = Character[@pages] @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size @edit_window.refresh(@character) end when @character.size - 4 if Character.size != 1 @pages -= 1 @pages = Character.size - 1 if @pages < 0 @character = Character[@pages] @edit_window.index = @character.size - 1 if @edit_window.index >= @character.size @edit_window.refresh(@character) end else if @name.scan(/./).size < @max @name += @character[@edit_window.index] end end refresh endenddef refresh @name_window.contents.clear @name_window.draw_actor_graphic(@actor, 32, 64) text = "" for i in 0...@max if @name.scan(/./) != nil text += @name.scan(/./) else text += ".." end end @name_window.contents.draw_text(0,0,320,64,text,1)endend复制代码------------------------------------------补充------------------------------------------
每页选项最多八十个,超出就不好看了
本帖来自P1论坛作者EngShun,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=164199若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]