Project1

标题: 简单的人物身世介绍窗口 [打印本页]

作者: 塑望    时间: 2008-11-10 03:29
标题: 简单的人物身世介绍窗口


好喽..这个就是效果图..不知道有人发过没....我是自己在写侦探类游戏的一个附带产物....

这个脚本就是简单的窗口修改...没有什么技术含量....构思是借鉴别人的...自己修改加上一部分的细微合并..

继续附带产物:菜单简化。自己调吧。。{/gg}


  1. #==============================================================================
  2. # 简单的人物背景介绍 by 沉默一秒钟(塑望)
  3. #==============================================================================
  4. class Scene_Menu
  5. #--------------------------------------------------------------------------
  6. # ● 主处理
  7. #--------------------------------------------------------------------------
  8. def main
  9.    @sp = Spriteset_Map.new
  10.    # 生成命令窗口
  11.    s1 = "主角介绍"
  12.    s2 = "物品"
  13.    s3 = "结束游戏"
  14.    @command_window = Window_Command.new(192, [s1, s2, s3])
  15.    @command_window.x = 320 - @command_window.width / 2
  16.    @command_window.y = 240 - @command_window.height / 2
  17.    @command_window.opacity = 200
  18.    # 执行过渡
  19.    Graphics.transition
  20.    # 主循环
  21.    loop do
  22.      # 刷新游戏画面
  23.      Graphics.update
  24.      # 刷新输入情报
  25.      Input.update
  26.      # 刷新画面
  27.      update
  28.      # 如果画面切换的话就中断循环
  29.      if $scene != self
  30.        break
  31.      end
  32.    end
  33.    # 准备过渡
  34.    Graphics.freeze
  35.    # 释放窗口
  36.    @command_window.dispose
  37.    @sp.dispose
  38. end
  39. #--------------------------------------------------------------------------
  40. # ● 刷新画面
  41. #--------------------------------------------------------------------------
  42. def update
  43.    # 刷新命令窗口
  44.    @command_window.update
  45.    # 按下 B 键的情况下
  46.    if Input.trigger?(Input::B)
  47.      # 演奏取消 SE
  48.      $game_system.se_play($data_system.cancel_se)
  49.      # 切换到菜单画面
  50.      $scene = Scene_Map.new
  51.      return
  52.    end
  53.    # 按下 C 键的场合下
  54.    if Input.trigger?(Input::C)
  55.      # 演奏确定 SE
  56.      $game_system.se_play($data_system.decision_se)
  57.      # 命令窗口光标位置分支
  58.      case @command_window.index
  59.      when 0
  60.        $scene = Scene_M.new
  61.      when 1  
  62.        $scene = Scene_Item.new
  63.        when 2  
  64.        $scene = Scene_End.new
  65.      end
  66.    end
  67. end
  68. end
  69. class Scene_M
  70.   #--------------------------------------------------------------------------
  71.   # ● 主处理
  72.   #--------------------------------------------------------------------------
  73.   def main
  74.     @sizz_window = Window_sizz.new
  75.      @sizz_window.x = 0
  76.       @sizz_window.y = 0
  77.     Graphics.transition
  78.     # 主循环
  79.     loop do
  80.       # 刷新游戏画面
  81.       Graphics.update
  82.       Input.update
  83.       @sizz_window.update
  84.       # 刷新输入情报
  85.       # 刷新画面
  86.       if Input.trigger?(Input::B)
  87.       # 演奏取消 SE
  88.       $game_system.se_play($data_system.cancel_se)
  89.       # 切换到菜单画面
  90.       $scene = Scene_Menu.new
  91.        @sizz_window.dispose
  92.       return
  93.     end
  94.       # 如果画面切换的话就中断循环
  95.       if $scene != self
  96.         break
  97.       end
  98.     end
  99.     # 准备过渡
  100.     Graphics.freeze
  101.     # 释放窗口
  102.      @sizz_window.dispose
  103.   end
  104. end

  105. class Window_sizz < Window_Base
  106.   #--------------------------------------------------------------------------
  107.   # ● 初始化窗口
  108.   #--------------------------------------------------------------------------
  109.   def initialize
  110.     super(0, 0,640, 480)
  111.     self.contents = Bitmap.new(width-32 , height-32 )
  112.      refresh
  113.    end
  114.    #--------------------------------------------------------------------------
  115.   # ● 获取普通文字色
  116.   #--------------------------------------------------------------------------
  117.   def normal_color
  118.     return Color.new(255, 255, 255, 255)
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● 获取无效文字色
  122.   #--------------------------------------------------------------------------
  123.   def disabled_color
  124.     return Color.new(155, 150, 255, 50)
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 获取系统文字色
  128.   #--------------------------------------------------------------------------
  129.   def system_color
  130.     return Color.new(192, 224, 255, 255)
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 获取危机文字色
  134.   #--------------------------------------------------------------------------
  135.   def crisis_color
  136.     return Color.new(255, 255, 64, 255)
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 获取战斗不能文字色
  140.   #--------------------------------------------------------------------------
  141.   def knockout_color
  142.     return Color.new(255, 64, 0)
  143.   end
  144.   def refresh
  145.     color=Color.new(255, 0 , 0, 255)
  146.     rect=Rect.new(0, 0, 111, 170)#这里是定义图片的位置和大小的。
  147.    bitmap=Bitmap.new("Graphics/Battlers/001-Fighter01")#这里是人物图片。。可以自行换替
  148.    self.contents.blt(x, y, bitmap, rect)
  149. #人物的详细介绍。。
  150. l1="〓〓〓〓〓〓〓〓〓〓人物背景介绍〓〓〓〓〓〓〓〓〓〓"
  151. l2="这个脚本只是为人物添加一个简单的介绍如:该人物是一个好"
  152. l3="人,生于皇族世家.这里的人物资料和字间距等都可以自己修"
  153. l4="改,好吧。。我承认这个脚本没什么创意。。。脚本借鉴别"
  154. l5="人的思路,我只是修改加整合了一部分内容。。添加了颜色"
  155. l6="等功能。。另外认为背景皮肤单调的自己换喽"

  156. self.contents.font.color = crisis_color   
  157. self.contents.draw_text(Rect.new(0, 200, 640, 32), l1, 0)
  158. self.contents.font.color = normal_color
  159. self.contents.draw_text(Rect.new(0, 250, 640, 32), l2, 0)
  160. self.contents.draw_text(Rect.new(0, 280, 640, 32), l3, 0)
  161. self.contents.draw_text(Rect.new(0, 310, 640, 32), l4, 0)
  162. self.contents.draw_text(Rect.new(0, 340, 640, 32), l5, 0)
  163. self.contents.draw_text(Rect.new(0, 370, 640, 32), l6, 0)

  164. #这个是最上面的简单介绍。。这个可以自己修改
  165. self.contents.font.color = disabled_color
  166. self.contents.draw_text(Rect.new(405, 10, 640, 32), "人物的介绍 Esc退出", 0)
  167. self.contents.font.color = knockout_color
  168. self.contents.draw_text(Rect.new(180, 30, 640, 32), "姓名:沉默", 0)
  169. self.contents.draw_text(Rect.new(230, 80, 640, 32), "性格:到处行骗好人卡", 0)
  170. self.contents.draw_text(Rect.new(280, 140, 640, 32), "评价:行为恶劣,立即PIA飞", 0)
  171. end
  172. end
  173. #==============================================================================
  174. #。。。End。。。
  175. #==============================================================================
复制代码

作者: 冰城飞狐    时间: 2008-11-10 03:43
ma,
表扬一下现
作者: 精灵使者    时间: 2008-11-10 03:56
曾经有一个“人物介绍”的窗口……
参考《魔神战记》里的人物介绍脚本
作者: 小萧    时间: 2008-11-10 04:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: 塑望    时间: 2008-11-10 07:36
以下引用精灵使者于2008-11-9 19:56:06的发言:

曾经有一个“人物介绍”的窗口……
参考《魔神战记》里的人物介绍脚本


应该存在差异吧....
作者: 精灵使者    时间: 2008-11-10 07:51
嗯哪。
http://rpg.blue/web/htm/news152.htm
就是这个啦。 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 木葬枫    时间: 2008-11-10 16:52
我突然想到了这个脚本另一个邪恶的用途……
作者: 塑望    时间: 2008-11-12 07:16
以下引用木葬枫于2008-11-10 8:52:54的发言:

我突然想到了这个脚本另一个邪恶的用途……

抽飞
作者: 越前リョーマ    时间: 2008-11-16 01:28
直接的说就是显示一个图片和一堆文字…… [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: ONEWateR    时间: 2008-11-16 02:40
应该不是很方便

#人物的详细介绍。。
l1="〓〓〓〓〓〓〓〓〓〓人物背景介绍〓〓〓〓〓〓〓〓〓〓"
l2="这个脚本只是为人物添加一个简单的介绍如:该人物是一个好"
l3="人,生于皇族世家.这里的人物资料和字间距等都可以自己修"
l4="改,好吧。。我承认这个脚本没什么创意。。。脚本借鉴别"
l5="人的思路,我只是修改加整合了一部分内容。。添加了颜色"
l6="等功能。。另外认为背景皮肤单调的自己换喽"


唔,描绘文字可以仿照叶子的任务系统。{/wx} [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 魔杰座    时间: 2008-11-16 03:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: zhuojiouzhui    时间: 2008-11-16 03:12
我是新手 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『无意义回帖 - -』,积分『-10』。这些被扣积分的一半会用于对本帖正确答案的悬赏。 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 塑望    时间: 2008-11-16 05:53
终于把楼上送的5分发完了...{/hx}看着别扭..

另外LS几位的意见虚心接受{/hx}谢了
作者: Denis    时间: 2008-11-16 06:40
可以用作侦探类的罪犯档案的说
作者: 塑望    时间: 2008-11-16 21:43
貌似人物介绍的窗口蛮少。。。貌似加这个一共就3个。。。。。{/gg}
作者: ONEWateR    时间: 2008-11-16 23:04
我是想说这个貌似只用于一个角色的介绍
作者: 塑望    时间: 2008-11-17 20:35
以下引用ONEWateR于2008-11-16 15:04:59的发言:

我是想说这个貌似只用于一个角色的介绍


因为是自己侦探类游戏的附带产品..只有一个主角...So......

多人介绍原理一样..如果需要可以另外加进去{/gg}
作者: 精灵使者    时间: 2008-11-17 23:27
多人介绍可以参考我介绍的那个脚本(我以前的游戏里就用那个)
以下引用塑望于2008-11-15 21:53:23的发言:

终于把楼上送的5分发完了...看着别扭..

另外LS几位的意见虚心接受谢了

积分多余的我可以帮你直接清除。恩呢
作者: 塑望    时间: 2008-11-18 06:43
以下引用精灵使者于2008-11-17 15:27:48的发言:

多人介绍可以参考我介绍的那个脚本(我以前的游戏里就用那个)


.........又参考你的......XP我不会自己写啊{/gg}
作者: 精灵使者    时间: 2008-11-18 07:53
不是。那个版本的脚本至少支持8个人的人物介绍……
p.s.那个脚本不是偶写得……
作者: 3nξhα0_lim    时间: 2008-11-18 07:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: swabwind    时间: 2008-11-18 12:38
呵呵,有点像死拔萝卜的人物和机体图鉴{/cy}
不过人家的背景会动
作者: 塑望    时间: 2008-11-18 18:20
以下引用3nξhα0_lim于2008-11-17 23:59:33的发言:

老实说这样的介绍窗口,用gsub!可以带出更多效果,具体可以参考Window_Message
以下引用swabwind于2008-11-18 4:38:56的发言:

呵呵,有点像死拔萝卜的人物和机体图鉴
不过人家的背景会动


好吧..我抽空再写一个多效果多人物多动态的人物介绍{/fd}.....

这个先独立一下..毕竟是自己侦探游戏产物....就一主角...

以后的那个华丽版本再单独写下{/bz}




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