设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2383|回复: 8
打印 上一主题 下一主题

VX版的人物介绍窗口

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-1-19
帖子
591
跳转到指定楼层
1
发表于 2009-2-9 22:43:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
请问有没有VX版的人物介绍窗口的范例啊?
谢谢~
梦想世界在我脑中~~

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
发表于 2009-2-9 22:49:19 | 只看该作者
直接做成图片显示不就好了~

也可以拿任务的那个脚本来做,不过我不多说……要不然说不完……别问我怎么做……自己看注释。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-1-19
帖子
591
3
 楼主| 发表于 2009-2-10 00:28:23 | 只看该作者
请各个范例吧-.-
梦想世界在我脑中~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-1-19
帖子
591
4
 楼主| 发表于 2009-2-10 00:29:29 | 只看该作者
最好有个范例~
梦想世界在我脑中~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
140 小时
注册时间
2008-9-16
帖子
6
5
发表于 2009-2-10 01:04:47 | 只看该作者
手里正好有个 不过是写在状态栏的 自己翻译了一下

  1. #==============================================================================
  2. # ☆ Window_Status_profile     Ver. 1.00
  3. #------------------------------------------------------------------------------
  4. #<追加机能>
  5. #  用于状态画面表示各角色介绍文字追加显示
  6. #==============================================================================

  7. #///////////////////////////////////////////////////////////////////
  8. #在这里,写登场人物的介绍
  9. #数字与角色ID对应
  10. #----能使用的御制文字---------------------------------------------
  11. # \\V[n]:变量表示,\\N[n]:角色名,\\C[n]:文字色、\\G:现在所有的现金
  12. #///////////////////////////////////////////////////////////////////
  13. CHARACTORS_PROFILE={
  14.   1=>"
  15. ",

  16.   2=>"
  17. ",

  18.   3=>"
  19. ",

  20.   4=>"
  21. "
  22. }

  23. class Window_Status < Window_Base
  24.   #--------------------------------------------------------------------------
  25.   # ☆ リフレッシュ <変更>
  26.   #--------------------------------------------------------------------------
  27.   def refresh
  28.     self.contents.clear
  29.     draw_actor_name(@actor, 4, 0)
  30.     draw_actor_class(@actor, 128, 0)
  31.     draw_actor_face(@actor, 8, 32)
  32.     draw_basic_info(128, 32)
  33.     draw_parameters(32, 140) #这里改变:默认(32,160)
  34.     draw_exp_info(288, 32)
  35.     draw_equipments(32, 240) #这里改变:默认(288,160)
  36.     draw_charactors_profile_text(240, 140,CHARACTORS_PROFILE[@actor.id].clone) #这里追加:登场人物介绍
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ☆ キャラクターのプロフィールの描画 <追加>
  40.   # 元の関数は,Window_Message>update_message
  41.   #--------------------------------------------------------------------------
  42.   def draw_charactors_profile_text(x, y, text)
  43.     if text != nil
  44.       text.gsub!(/\n/, "\x00")
  45.       text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
  46.       text.gsub!(/\\N\[([0-9]+)\]/i) { $game_actors[$1.to_i].name }
  47.       text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
  48.       text.gsub!(/\\G/)              { $game_party.gold }
  49.       text.gsub!(/\\\\/)             { "\\" }
  50.       
  51.       #初期化
  52.       contents_x = x
  53.       contents_y = y
  54.       line_count = 0
  55.       max_line   = 10
  56.       
  57.       loop do
  58.         c = text.slice!(/./m)            # 取得下面的文字
  59.         case c
  60.         when nil                          # 没有绘画文字时
  61.           break
  62.         when "\x00"                       # 换行
  63.           contents_x  = x
  64.           contents_y += WLH
  65.           line_count += 1
  66.         when "\x01"                       # \C[n]  (文字颜色改变)
  67.           text.sub!(/\[([0-9]+)\]/, "")
  68.           self.contents.font.color = text_color($1.to_i)
  69.           next
  70.         else                              # 普通文字
  71.           self.contents.draw_text(contents_x, contents_y, 40, WLH, c)
  72.           c_width = contents.text_size(c).width
  73.           contents_x += c_width
  74.         end
  75.         break if line_count >= max_line
  76.       end
  77.     end
  78.   end
  79. end

  80. #////////////////////////////////////////////////////////////////
  81. #作成者:ehime
  82. #http://www.abcoroti.com/~nekoneko/index.html
  83. #readmeやスタッフロールの明記,使用報告は任意.
  84. #////////////////////////////////////////////////////////////////
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-1-19
帖子
591
6
 楼主| 发表于 2009-2-10 07:35:07 | 只看该作者
拿任务的那个脚本来做怎样该改,目的要能显示图片和文字
梦想世界在我脑中~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
794
在线时间
94 小时
注册时间
2008-12-26
帖子
626
7
发表于 2009-2-10 08:04:27 | 只看该作者
到底要显示人物还是任务?没明白LZ的意思{/jy}
《萝莉的远征》13周年纪念版现已在Steam发售https://store.steampowered.com/app/1687940
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-1-19
帖子
591
8
 楼主| 发表于 2009-2-11 00:27:06 | 只看该作者
显示人物啊-.-
梦想世界在我脑中~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2008-5-31
帖子
237
9
发表于 2009-2-11 00:43:51 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Task
  3. #------------------------------------------------------------------------------
  4. #  处理商店画面的类。
  5. #==============================================================================

  6. class Scene_Task < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10. #=============开始================
  11.   def start
  12.     super
  13.     #名称
  14.     create_menu_background
  15.     create_command_window
  16.     @name_window = Window_Base.new( 0, 0, 128, 56)
  17.     @name_window.contents = Bitmap.new( 96, 24)
  18.     @name_window.contents.draw_text( 0, 0, 96, 24, "当前任务", 1)
  19.     # 参数1 即居中 2 右对齐 默认左对齐
  20.     @name_window.active = false
  21.     # 生成主线任务窗口
  22.     @main_window = Window_MainTask.new(0,56)
  23.     @main_window.active = false
  24.     @main_window.visible = false
  25.     # 生成支线任务窗口
  26.     @branch_window = Window_BranchTask.new(0,56)
  27.     @branch_window.active = false
  28.     @branch_window.visible = false
  29.     # 生成信息窗口
  30.     @info_window = Window_TaskInfo.new(128,56)
  31.   end
  32.   #======结束====================
  33.   def terminate
  34.     super
  35.     dispose_menu_background
  36.     dispose_command_window
  37.     @name_window.dispose
  38.     @main_window.dispose
  39.     @branch_window.dispose
  40.     @info_window.dispose
  41.   end
  42.   #===========更新=================
  43.   def update
  44.     super
  45.     update_menu_background
  46.     @command_window.update
  47.     @main_window.update
  48.     @branch_window.update
  49.     @info_window.update
  50.     if @command_window.active
  51.       update_command_selection
  52.     elsif @main_window.active
  53.       update_main_selection
  54.     elsif @branch_window.active
  55.       update_branch_selection
  56.     end
  57.   end
  58.   
  59.   #=========指令窗口=============
  60.   def create_command_window
  61.     s1 = Vocab::MainTask
  62.     s2 = Vocab::BranchTask
  63.     s3 = Vocab::TaskCancel
  64.     @command_window = Window_Command.new(512, [s1, s2, s3], 3)
  65.     @command_window.x = 128
  66.     @command_window.y = 0
  67.   end
  68.   
  69.   #======释放===============  
  70.   def dispose_command_window
  71.     @command_window.dispose
  72.   end
  73.   #=====指令更新=====================
  74.   
  75.   #-------命令-------------------
  76.   def update_command_selection
  77.     if Input.trigger?(Input::B)
  78.       Sound.play_cancel
  79.       $scene = Scene_Menu.new
  80.     elsif Input.trigger?(Input::C)
  81.   
  82.       case @command_window.index
  83.       when 0  # 主线
  84.         Sound.play_decision
  85.         @command_window.active = false
  86.         @main_window.active = true
  87.         @main_window.visible = true
  88.         @main_window.refresh
  89.   #      @status_window.visible = true
  90.       when 1  # 支线
  91.           Sound.play_decision
  92.           @command_window.active = false
  93.           @branch_window.active = true
  94.           @branch_window.visible = true
  95.           @branch_window.refresh
  96.       when 2  # 取消
  97.         Sound.play_decision
  98.         $scene = Scene_Menu.new
  99.       end
  100.     end
  101.   end
  102.   #---------------主线-------------------------
  103.   def update_main_selection
  104.     @info_window.item = @main_window.item
  105.     if Input.trigger?(Input::B)
  106.       Sound.play_cancel
  107.       @command_window.active = true
  108.       @main_window.active = false
  109.       @main_window.visible = false
  110.   #    @status_window.visible = false
  111.       @info_window.item = nil
  112.       return
  113.     end
  114.   end
  115.   #-----------------支线------------------------
  116.   def update_branch_selection
  117.     @info_window.item = @branch_window.item
  118.     if Input.trigger?(Input::B)
  119.       Sound.play_cancel
  120.       @command_window.active = true
  121.       @branch_window.active = false
  122.       @branch_window.visible = false
  123.   #    @status_window.visible = false
  124.       @info_window.item = nil
  125.       return
  126.     end
  127.   end
  128. end


  129. #==============================================================================
  130. # ■ Window_BranchTask
  131. #------------------------------------------------------------------------------
  132. #  商店画面、浏览显示可以购买的商品的窗口。
  133. #==============================================================================

  134. class Window_BranchTask < Window_Selectable
  135.   #--------------------------------------------------------------------------
  136.   # ● 初始化对像
  137.   #     shop_goods : 商品
  138.   #--------------------------------------------------------------------------
  139.   def initialize(x,y)
  140.     super( x, y, 128, 424)
  141.     refresh
  142.     self.index = 0
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● 获取物品
  146.   #--------------------------------------------------------------------------
  147.   def item
  148.     return @data[self.index]
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 刷新
  152.   #--------------------------------------------------------------------------
  153.   def refresh
  154.     @data = []
  155.     for i in 1...6
  156.       if $game_variables[i]!=0
  157.         @data.push($task_blist[$game_variables[i] - 1])
  158.       end
  159.     end
  160.    
  161.     # 如果项目数不是 0 就生成位图、描绘全部项目
  162.     @item_max = @data.size
  163.     if @item_max > 0
  164.       self.contents = Bitmap.new(width - 32, row_max * 24)
  165.       for i in 0...@item_max
  166.         draw_item(i)
  167.       end
  168.     end
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● 描绘项目
  172.   #     index : 项目编号
  173.   #--------------------------------------------------------------------------
  174.   def draw_item(index)
  175.     item = @data[index]
  176.     rect = item_rect(index)
  177.     self.contents.clear_rect(rect)
  178.     rect.width -= 4
  179.     #很重要#
  180.     self.contents.draw_text(rect,item[1], 0)
  181.   end
  182. end  


  183. #==============================================================================
  184. # ■ Window_MainTask
  185. #------------------------------------------------------------------------------
  186. #  显示主任务名的窗口。
  187. #==============================================================================

  188. class Window_MainTask < Window_Selectable
  189.   #--------------------------------------------------------------------------
  190.   # ● 初始化对像
  191.   #     shop_goods : 商品
  192.   #--------------------------------------------------------------------------
  193.   def initialize(x,y)
  194.     super( x, y, 128, 424)
  195.     refresh
  196.     self.index = 0
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 获取物品
  200.   #--------------------------------------------------------------------------
  201.   def item
  202.     return @data[self.index]
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● 刷新
  206.   #--------------------------------------------------------------------------
  207.   def refresh
  208.     @data = []
  209.     # 7号为主线计数
  210.    
  211.     for i in 0...( $game_variables[7] + 1)/2         
  212.        @data.push($task_mlist[i])
  213.     end
  214.      
  215.     # 如果项目数不是 0 就生成位图、描绘全部项目
  216.     @item_max = @data.size
  217.     if @item_max > 0
  218.       self.contents = Bitmap.new(width - 32, row_max * 24)
  219.       for i in 0...@item_max
  220.         draw_item(i)
  221.       end
  222.     end
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ● 描绘项目
  226.   #     index : 项目编号
  227.   #--------------------------------------------------------------------------
  228.   def draw_item(index)
  229.     item = @data[index]
  230.     rect = item_rect(index)
  231.     self.contents.clear_rect(rect)
  232.     rect.width -= 4
  233.     #输出任务名称
  234.     self.contents.draw_text(rect,$task_mlist[index][1], 0)
  235.   end
  236. end

  237. #==============================================================================
  238. # ■ Window_TaskInfo
  239. #------------------------------------------------------------------------------
  240. #  显示任务信息的窗口。
  241. #==============================================================================

  242. class Window_TaskInfo < Window_Base
  243.   #--------------------------------------------------------------------------
  244.   # ● 初始化对像
  245.   #--------------------------------------------------------------------------
  246.   def initialize(x,y)
  247.     super( x, y, 512, 424)
  248.     self.contents = Bitmap.new(width - 32, height - 32)
  249.     @item = nil
  250.     refresh
  251.   end
  252.   #--------------------------------------------------------------------------
  253.   # ● 刷新
  254.   #     字体颜色见window.png 的右下角颜色修改
  255.   #--------------------------------------------------------------------------
  256.   def refresh
  257.     self.contents.clear
  258.     if @item == nil
  259.       return
  260.     end
  261.     self.contents.font.color = text_color(12)
  262.     self.contents.draw_text( 14, 4, 172, 24, "任务名称")
  263.     self.contents.draw_text( 14, 60, 172, 24, "任务内容")
  264.     self.contents.draw_text( 14, 200, 172, 24, "委托人&地点")   
  265.     self.contents.draw_text( 14, 300, 172, 24, "任务奖励")   
  266.    
  267.     self.contents.font.color = text_color(0)
  268.     # 任务名称
  269.     self.contents.draw_text( 256, 30, 252, 24, @item[1], 1)
  270.     #  描述一行约46字符,第一行空4字符
  271.     # 任务内容
  272.     self.contents.draw_text( 80, 100, 400, 24, @item[2])
  273.     self.contents.draw_text( 40, 130, 440, 24, @item[3])
  274.     self.contents.draw_text( 40, 160, 440, 24, @item[4])
  275.     # 地点&委托人
  276.     self.contents.draw_text( 256, 230, 242, 24, @item[5])
  277.     #奖励物   
  278.     case @item[6]
  279.      when 0
  280.        draw_currency_value(@item[7], 14, 350, 416)
  281.      when 1
  282.        item = $data_items[@item[7]]
  283.        draw_icon(item.icon_index, 364, 350, true)
  284.        self.contents.font.color = normal_color
  285.        self.contents.font.color.alpha = 255
  286.        self.contents.draw_text( 388, 350, 128, 24, item.name)
  287.      when 2
  288.        item = $data_weapons[@item[7]]
  289.        draw_icon(item.icon_index, 364, 350, true)
  290.        self.contents.font.color = normal_color
  291.        self.contents.font.color.alpha = 255
  292.        self.contents.draw_text( 388, 350, 128, 24, item.name)
  293.      when 3
  294.        item = $data_armors[@item[7]]
  295.        draw_icon(item.icon_index, 364, 350, true)
  296.        self.contents.font.color = normal_color
  297.        self.contents.font.color.alpha = 255
  298.        self.contents.draw_text( 388, 350, 128, 24, item.name)
  299.     end  
  300.   end

  301.   #--------------------------------------------------------------------------
  302.   # ● 设置物品
  303.   #     item : 新的物品
  304.   #--------------------------------------------------------------------------
  305.   def item=(item)
  306.     if @item != item
  307.       @item = item
  308.       refresh
  309.     end
  310.   end
  311. end
复制代码
  1. #------------------------------------------------------------------------------
  2. #                         任务
  3. #------------------------------------------------------------------------------

  4.     #----------------------------------------------------------------------
  5.     # 格式:         $task_mlist 主线        $task_blist   支线
  6.     #   0 表示主线    1 表示支线
  7.     #     任务名称“”
  8.     #     任务描述一共三行       描述一行约44字符,第一行空4字符 40个
  9.     #     任务奖励内容 0,1,2,3(金钱,物品,武器,防具)
  10.     #     物品id/ 金钱数
  11.     #     0-3(未接,ing,ed,要用到计数变量的的)    这行先排除吧。。。
  12.     #----------------------------------------------------------------------
  13.     $task_mlist = []
  14.     info_temp = [0,"no m1","no1 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",0,100]
  15.     $task_mlist.push(info_temp)
  16.     info_temp = [0,"no m2","    no2 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",1,1]
  17.     $task_mlist.push(info_temp)
  18.     info_temp = [0,"no m3","    no3 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",2,01]
  19.     $task_mlist.push(info_temp)
  20.     info_temp = [0,"no m4","    no4 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",3,01]

  21.     $task_blist = []
  22.     info_temp = [1,"no b1","    no1 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",0,010000000]
  23.     $task_blist.push(info_temp)   
  24.     info_temp = [1,"no b2","    no2 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",1,01]
  25.     $task_blist.push(info_temp)   
  26.     info_temp = [1,"no b3","    no3 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",2,01]
  27.     $task_blist.push(info_temp)   
  28.     info_temp = [1,"no b4","    no4 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",3,01]
  29.     $task_blist.push(info_temp)
  30.     info_temp = [1,"no b5","    no5 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",3,06]
  31.     $task_blist.push(info_temp)
  32.     info_temp = [1,"no b6","    no6 bangrenmaidongxi","L2","l3","亡命酒馆:拉斯",3,02]
  33.     $task_blist.push(info_temp)
复制代码

之前改shop得的一个任务图鉴,拿来做人物的也ok。就是排版&内容改改
之后使用的数据也奉上。。。
我。。不是寂寞。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-10 20:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表