幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1883|回复: 8

[RMXP] 问一下关于对话框的问题

[复制链接]

4

主题

10

帖子

107

积分

③业余

积分
107
发表于 2010-1-20 15:12:06 | 显示全部楼层 |阅读模式
1.怎样设置对话框有角色图片?
  这个应该怎样做?

2.对话框如何对应相应角色位置调整?

3.问什么我的文字会过长显示不到?怎样调节文章长度??

4.怎样设置文章内容颜色?

5.怎样令对话框自动对话 不用按回车或者空格
回复

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-1-20 15:50:21 | 显示全部楼层
这不就是FUKI么。。。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

4

主题

10

帖子

107

积分

③业余

积分
107
 楼主| 发表于 2010-1-20 15:56:32 | 显示全部楼层
不知道术语……
回复 支持 反对

使用道具 举报

4

主题

10

帖子

107

积分

③业余

积分
107
 楼主| 发表于 2010-1-20 16:23:17 | 显示全部楼层




右手边看不到文字。。。
回复 支持 反对

使用道具 举报

38

主题

129

帖子

1151

积分

⑥精研

无既空,空既色

积分
1151
发表于 2010-1-20 16:30:32 | 显示全部楼层
给你我这个仿风色,66合并FUKI,对话框随文字变化脚本,应该已经包含了你全部的要求了
回复 支持 反对

使用道具 举报

38

主题

129

帖子

1151

积分

⑥精研

无既空,空既色

积分
1151
发表于 2010-1-20 16:34:25 | 显示全部楼层
  1. class Game_Event < Game_Character
  2.   #===========================================================================
  3.   # 便于返回姓名和修改姓名
  4.   #===========================================================================
  5.   def name
  6.     return @event.name
  7.   end
  8.   def name=(na)
  9.     @event.name = na
  10.   end
  11. end
  12. #==============================================================================
  13. #
  14. #    呼出对话框 ver. 1.31 By パラ犬(日)
  15. #  来自 [url]http://rpg.para.s3p.net/[/url]
  16. #
  17. #  汉化修改 66RPG bbschat(2006.1.5)
  18. #    来自 [url]http://www.66RPG.com/[/url]
  19. #
  20. #    脚本更新:by KKME◎66RPG.com,2007年2月
  21. #
  22. #    脚本更新:by 绫晓露雪萌◎66RPG.com,2007年7月
  23. #
  24. #==============================================================================
  25. module FUKI
  26.   # 头像图片保存目录的设定
  27.   HEAD_PIC_DIR = "Graphics/Heads/"
  28.   # 是否显示尾部图标
  29.   TAIL_SHOW = true
  30.   
  31.   # Skin的设定
  32.   # 使用数据库默认窗口Skin情况下这里使用[""]
  33.   FUKI_SKIN_NAME = "001-Blue01"   # 呼出对话框用Skin
  34.   NAME_SKIN_NAME = "001-Blue01"   # 角色名字窗口用Skin
  35.   
  36.   # 字体大小
  37.   MES_FONT_SIZE = 22    # 呼出对话框
  38.   NAME_FONT_SIZE = 14   # 角色名字窗口
  39.   
  40.   # 字体颜色
  41.   #(设定为 Color.new(0, 0, 0, 0) 表示使用普通文字色)
  42.   FUKI_COLOR = Color.new(0, 0, 0, 255)  # 呼出对话框
  43.   NAME_COLOR = Color.new(0, 0, 0, 255)  # 角色名字窗口
  44.   
  45.   # 窗口透明度
  46.   # 如修改窗口透明度请同时修改尾部箭头图形内部的透明度
  47.   FUKI_OPACITY = 255    # 呼出对话框
  48.   MES_OPACITY = 255     # 默认信息窗口
  49.   NAME_OPACITY = 255    # 角色名字窗口
  50.   
  51.   # 角色名字窗口的相对位置
  52.   NAME_SHIFT_X = 0      # 横坐标
  53.   NAME_SHIFT_Y = 16     # 纵坐标
  54.   
  55.   # 窗口表示时是否根据画面大小自动检查窗口出现的位置,
  56.   # 自动改变位置( true / false )
  57.   # 设置成 true 在某些变态情况下可能出现箭头图标颠倒的问题 <- bbschat <= KKME
  58.   POS_FIX = true
  59.   # 在画面最边缘表示时的稍微挪动
  60.   # 使用圆形Skin的角和方框的角重合的情况下为 true
  61.   CORNER_SHIFT = false
  62.   SHIFT_PIXEL = 4   # true 时挪动的象素
  63.   
  64.   # 角色高度尺寸
  65.   CHARACTOR_HEIGHT = 48
  66.   # 呼出对话框的相对位置(纵坐标)
  67.   POP_SHIFT_TOP = 0         # 表示位置为上的时候
  68.   POP_SHIFT_UNDER = -4       # 表示位置为下的时候
  69.   
  70.   # 信息的表示速度(数字越小速度越快,0为瞬间表示)
  71.   # 游戏中 可随时用数字代入 $mes_speed 来改变消息表示速度。
  72.   MES_SPEED = 1
  73. end
  74. #==============================================================================
  75. # 初始化两个变量,不要动(by KKME◎66RPG.com)
  76. #==============================================================================
  77. $mes_name = ""
  78. $mes_id   = nil
  79. #==============================================================================
  80. # 方便用户同时设置2个常用参数而使用的函数
  81. #==============================================================================
  82. def chat(id = nil,name = "")
  83.   $mes_id = id
  84.   $mes_name = name
  85. end
  86. #==============================================================================
  87. # □ Game_Temp
  88. #==============================================================================
  89. class Game_Temp
  90.   attr_accessor  :namebmp              #保存头像图片的Hash表
  91.   alias initialize_fuki initialize
  92.   def initialize
  93.     initialize_fuki
  94.     # 如果不想使用角色名字直接作为头像文件名
  95.     # 可在这里重新设定角色名字与文件名的对应关系
  96.     @namebmp ={"玩家"=>"维斯特"}
  97.   end
  98. end
  99. #==============================================================================
  100. # □ Window_Message
  101. #==============================================================================
  102. class Window_Message < Window_Selectable
  103.   #--------------------------------------------------------------------------
  104.   # ● 初始化状态
  105.   #--------------------------------------------------------------------------
  106.   def initialize
  107.     super(80, 304, 480, 160)
  108.     self.contents = Bitmap.new(width - 32, height - 32)
  109.     self.contents.font.color = text_color(0)
  110.     self.visible = false
  111.     self.z = 9998
  112.     @fade_in = false
  113.     @fade_out = false
  114.     @contents_showing = false
  115.     @cursor_width = 0
  116.     @kkme_name = ""
  117.     self.active = false
  118.     self.index = -1
  119.     @w = 0
  120.     @h = 0
  121.     @wait = 0
  122.     @dx = 0
  123.     @dy = 0
  124.     $mes_speed = FUKI::MES_SPEED
  125.    
  126.     #------------------------
  127.     # ★ 特殊时期中断标志
  128.     #------------------------
  129.     @no_term_stop = false
  130.     @save_x = 0
  131.     @save_y = 0
  132.     @old_text_info = []
  133.   end
  134.   
  135.   #--------------------------------------------------------------------------
  136.   # ○ 决定窗口尺寸并生成窗口
  137.   #--------------------------------------------------------------------------
  138.   def refresh_create
  139.     unless @no_term_stop
  140.       @pic_skin.dispose if @pic_skin != nil
  141.       @kkme_name = ""
  142.       begin
  143.         @kkme_name = $game_temp.message_text.split(":")[0] if $game_temp.message_text.split(":")[1] != nil
  144.         if @kkme_name != ""
  145.           jiajia = '\\c[1]【' + @kkme_name + '】\\c[7]'
  146.           $game_temp.message_text = jiajia + $game_temp.message_text[@kkme_name.size + 2,$game_temp.message_text.size]
  147.         end      
  148.       rescue
  149.       end
  150.       self.contents.clear
  151.       self.contents.font.color = Color.new(0, 0, 0, 255)
  152.       self.contents.font.size = FUKI::MES_FONT_SIZE
  153.       # 取得窗口尺寸
  154.       get_windowsize
  155.       w = @w + 32 + 8
  156.       h = @h * (self.contents.font.size + 10) + 26
  157.       # 生成呼出窗口   
  158.       # 生成角色名字窗口
  159.       set_fukidasi(self.x, self.y, w, h)
  160.       set_namewindow
  161.       pic_back
  162.     end
  163.     # 初始化信息表示使用的变量
  164.     @dx = @save_x # 0
  165.     @dy = @save_y # 0
  166.     @cursor_width = 0
  167.     @contents_drawing = true
  168.     update
  169.     # 瞬间表示的情况下
  170.     if $mes_speed == 0
  171.       # 循环信息描绘处理
  172.       while $game_temp.message_text != ""
  173.         draw_massage
  174.       end
  175.       draw_opt_text
  176.       @contents_showing_end = true
  177.       @contents_drawing = false
  178.     else
  179.       # 一个一个描绘文字
  180.       refresh_drawtext
  181.     end
  182.   end
  183.   
  184.   #--------------------------------------------------------------------------
  185.   # ○ 一个一个描绘文字
  186.   #--------------------------------------------------------------------------
  187.   def refresh_drawtext
  188.     if $game_temp.message_text != nil
  189.       if @wait > 0
  190.         @wait -= 1
  191.       elsif @wait == 0
  192.         # 描绘处理
  193.         draw_massage
  194.         @wait = $mes_speed
  195.       end
  196.     end
  197.     # 描绘结束
  198.     if $game_temp.message_text == ""
  199.       draw_opt_text
  200.       @contents_showing_end = true
  201.       @contents_drawing = false
  202.     end
  203.   end
  204.   
  205.   #--------------------------------------------------------------------------
  206.   # ○ 取得窗口尺寸
  207.   #--------------------------------------------------------------------------
  208.   def get_windowsize
  209.     x = y = 0
  210.     @h = @w = 0
  211.     @cursor_width = 0
  212.     # 有选择项的话,处理字的缩进
  213.     if $game_temp.choice_start == 0
  214.       x = 16
  215.     end
  216.     # 有等待显示的文字的情况下
  217.     if $game_temp.message_text != nil
  218.     text = $game_temp.message_text.clone
  219.       # 限制文字处理
  220.       begin
  221.         last_text = text.clone
  222.         text.gsub!(/\\\\[Vv]\\[([0-9]+)\\]/) { $game_variables[$1.to_i] }
  223.       end until text == last_text
  224.       text.gsub!(/\\\\[Nn]\\[([0-9]+)\\]/) do
  225.         $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  226.       end
  227.       # 为了方便、将 "\\\\\\\\" 变换为 "\\000"
  228.       text.gsub!(/\\\\\\\\/) { "\\000" }
  229.       # "\\\\C" 变为 "\\001" 、"\\\\G" 变为 "\\002"
  230.       text.gsub!(/\\\\[Cc]\\[([0-9]+)\\]/) { "\\001" }
  231.       text.gsub!(/\\\\[Gg]/) { "\\002" }
  232.       # c 获取 1 个字 (如果不能取得文字就循环)
  233.       while ((c = text.slice!(/./m)) != nil)
  234.         # \\\\ 的情况下
  235.         if c == "\\000"
  236.           # 还原为本来的文字
  237.           c = "\\\\"
  238.         end
  239.         # \\C[n] 或者 \\G 的情况下
  240.         if c == "\\001" or c == "\\002"
  241.           # 下面的文字
  242.           next
  243.         end
  244.         # 另起一行文字的情况下
  245.         if c == "\\n"
  246.           # y 累加 1
  247.           y += 1
  248.           # 取得纵横尺寸
  249.           @h = y
  250.           @w = x > @w ? x : @w
  251.           if y >= $game_temp.choice_start
  252.             @w = x + 8 > @w ? x + 8 : @w
  253.           end
  254.           x = 0
  255.           # 移动到选择项的下一行
  256.           if y >= $game_temp.choice_start
  257.             x = 8
  258.           end
  259.           # 下面的文字
  260.           next
  261.         end
  262.         # x 为要描绘文字的宽度加法运算
  263.         x += self.contents.text_size(c).width
  264.       end
  265.     end
  266.     # 输入数值的情况
  267.     if $game_temp.num_input_variable_id > 0
  268.       digits_max = $game_temp.num_input_digits_max
  269.       number = $game_variables[$game_temp.num_input_variable_id]
  270.       @h += 1
  271.       x = digits_max * self.contents.font.size + 16
  272.       @w = x > @w ? x : @w
  273.     end
  274.   end
  275.   
  276.   #--------------------------------------------------------------------------
  277.   # ○ 描绘信息处理
  278.   #--------------------------------------------------------------------------
  279.   def draw_massage
  280.     # 有等待显示的文字的情况下
  281.     if $game_temp.message_text != nil or @old_text_info != nil
  282.       text = $game_temp.message_text
  283.       # 限制文字处理
  284.       begin
  285.         last_text = text.clone
  286.         text.gsub!(/\\\\[Vv]\\[([0-9]+)\\]/) { $game_variables[$1.to_i] }
  287.       end until text == last_text
  288.       text.gsub!(/\\\\[Nn]\\[([0-9]+)\\]/) do
  289.         $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  290.       end
  291.       # 为了方便、将 "\\\\\\\\" 变换为 "\\000"
  292.       text.gsub!(/\\\\\\\\/) { "\\000" }
  293.       # "\\\\C" 变为 "\\001"、"\\\\G" 变为 "\\002"
  294.       text.gsub!(/\\\\[Cc]\\[([0-9]+)\\]/) { "\\001[#{$1}]" }
  295.       text.gsub!(/\\\\[Gg]/) { "\\002" }
  296.       text.gsub!(/\\\\[Ll]s/) { "" }      
  297.       text.gsub!(/\\\\[Rr]s/) { "" }
  298.       text.gsub!(/\\\\[Ll]k/) { "" }      
  299.       text.gsub!(/\\\\[Rr]k/) { "" }
  300.       text.gsub!(/\\\\[Rr]h/) { "" }
  301.       text.gsub!(/\\\\[Ll]h/) { "" }
  302.       text.gsub!(/\\\\[Ff]\\[([0-9]+)\\]/) { "" }     
  303.       
  304.       
  305.       # c 获取 1 个字
  306.       c = text.slice!(/./m)
  307.       # 选择项的情况
  308.       if @dy >= $game_temp.choice_start
  309.         # 处理字的缩进
  310.         @dx = 8
  311.         # 描绘文字
  312.         self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)
  313.         # x 为要描绘文字宽度的加法运算
  314.         @dx += self.contents.text_size(c).width
  315.         # 循环
  316.         while ((c = text.slice!(/./m)) != "\\n")
  317.           # 描绘文字
  318.           self.contents.draw_text(4 + @dx, 32 * @dy, 40, 32, c)
  319.           # x 为要描绘文字宽度的加法运算
  320.           @dx += self.contents.text_size(c).width
  321.         end
  322.         if c == "\\n"
  323.           # 更新光标宽度
  324.           @cursor_width = [@cursor_width, @dx].max
  325.           # dy 累加 1
  326.           @dy += 1
  327.           @dx = 0
  328.         end
  329.         return
  330.       end
  331.       # \\\\ 的情况下
  332.       if c == "\\000"
  333.         # 还原为本来的文字
  334.         c = "\\\\"
  335.       end
  336.       #\\C[n] 的情况下
  337.       if c == "\\001"
  338.         # 更改文字色
  339.         text.sub!(/\\[([0-9]+)\\]/, "")
  340.         color = $1.to_i
  341.         if color >= 0 and color <= 7
  342.           self.contents.font.color = text_color(color)
  343.         end
  344.       end
  345.       # \\G 的情况下
  346.       if c == "\\002"
  347.         # ★生成金钱窗口★
  348.         @contents_showing_end = true
  349.         @contents_drawing = false
  350.         terminate_messageX
  351.         @save_x = @dx
  352.         @save_y = @dy
  353.       end
  354.       # 另起一行文字的情况下
  355.       if c == "\\n"
  356.         # dy 累加 1
  357.         @dy += 1
  358.         @dx = 0
  359.       end
  360.       # 描绘文字
  361.       
  362.       size_zy = 6 # 设定文字动态增大——别问我这么重要的参数为什么放在这里而不放在顶部,有特殊原因的。
  363.       
  364.       
  365.       unless @old_text_info == []
  366.         self.contents.fill_rect (4 + @old_text_info[0], (@old_text_info[2]+10-size_zy)*@old_text_info[1] - size_zy/2 ,@old_text_info[2],@old_text_info[2],Color.new(0,0,0,0))
  367.         col = self.contents.font.color.clone
  368.         self.contents.font.color = @old_text_info[3].clone
  369.         self.contents.font.size = @old_text_info[2] -= size_zy
  370.         self.contents.draw_text(4 + @old_text_info[0], (@old_text_info[2]+10)*@old_text_info[1],@old_text_info[2],@old_text_info[2],@old_text_info[4])
  371.         self.contents.font.color = col
  372.         Audio.se_play("Audio/SE/001-system01",80,100)
  373.         @old_text_info = []
  374.       end
  375.       if c != nil
  376.         self.contents.font.size = FUKI::MES_FONT_SIZE
  377.         font_size = self.contents.font.size += size_zy
  378.         @old_text_info.push(@dx , @dy , font_size, self.contents.font.color.clone, c)
  379.         self.contents.draw_text(4+@dx, (font_size+10-size_zy)*@dy - size_zy/2, font_size, font_size, c)
  380.         self.contents.font.size -= size_zy
  381.         # dx 为要描绘文字的宽度加法运算
  382.         @dx += self.contents.text_size(c).width
  383.       end
  384.     end
  385.   end
  386.   
  387.   #--------------------------------------------------------------------------
  388.   # ○ 选择项和输入数值的情况下
  389.   #--------------------------------------------------------------------------
  390.   def draw_opt_text
  391.     # 选择项的情况下
  392.     if $game_temp.choice_max > 0
  393.       @item_max = $game_temp.choice_max
  394.       self.active = true
  395.       self.index = 0
  396.     end
  397.     # 输入数值的情况下
  398.     if $game_temp.num_input_variable_id > 0
  399.       digits_max = $game_temp.num_input_digits_max
  400.       number = $game_variables[$game_temp.num_input_variable_id]
  401.       @input_number_window = Window_InputNumber.new(digits_max)
  402.       @input_number_window.number = number
  403.       @input_number_window.x = self.x + 8
  404.       @input_number_window.y = self.y + $game_temp.num_input_start * 32
  405.     end
  406.   end
  407.   
  408.   def pic_back
  409.     @pic_skin.dispose if @pic_skin != nil
  410.     @pic_skin = Sprite.new
  411.     @pic_skin.opacity = 0 unless @no_term_stop
  412.     @pic_skin.bitmap = Bitmap.new(self.width + 35, self.height + 35)
  413.     @pic_skin.x = self.x + 2
  414.     @pic_skin.y = self.y + 2
  415.     @pic_skin.z = self.z
  416.     @pic_skin.bitmap.blt(0, 0, RPG::Cache.icon("message_左上"),  RPG::Cache.icon("message_左上").rect)
  417.     @pic_skin.bitmap.blt(self.width - 35, 0, RPG::Cache.icon("message_右上"),  RPG::Cache.icon("message_右上").rect)
  418.     @pic_skin.bitmap.blt(0, self.height - 35, RPG::Cache.icon("message_左下"),  RPG::Cache.icon("message_左下").rect)
  419.     @pic_skin.bitmap.blt(self.width - 35, self.height - 35, RPG::Cache.icon("message_右下"),  RPG::Cache.icon("message_右下").rect)
  420.     @pic_skin.bitmap.stretch_blt(Rect.new(0,35,35,self.height-70), RPG::Cache.icon("message_左"), RPG::Cache.icon("message_左").rect)
  421.     @pic_skin.bitmap.stretch_blt(Rect.new(self.width - 35,35,35,self.height-70), RPG::Cache.icon("message_右"), RPG::Cache.icon("message_右").rect)
  422.     @pic_skin.bitmap.stretch_blt(Rect.new(35,0,self.width-70,35), RPG::Cache.icon("message_上"), RPG::Cache.icon("message_上").rect)
  423.     @pic_skin.bitmap.stretch_blt(Rect.new(35,self.height-35,self.width-70,35), RPG::Cache.icon("message_下"), RPG::Cache.icon("message_下").rect)
  424.     @pic_skin.bitmap.stretch_blt(Rect.new(35,35,self.width-70,self.height-70), RPG::Cache.icon("message_中"), RPG::Cache.icon("message_中").rect)
  425.   end
  426.    
  427.   
  428.   #--------------------------------------------------------------------------
  429.   # ○ 设置呼出对话框
  430.   #--------------------------------------------------------------------------
  431.   def set_fukidasi(x, y, width, height)
  432.     begin
  433.       # 不显示暂停标志
  434.       self.pause = false
  435.       # 取得对话框位置
  436.       pos = get_fuki_pos(width, height)
  437.       x = pos[0]
  438.       y = pos[1]
  439.       skin = FUKI::FUKI_SKIN_NAME != "" ? FUKI::FUKI_SKIN_NAME : $game_system.windowskin_name
  440.       # 生成呼出对话框
  441.       self.windowskin = RPG::Cache.windowskin(skin)
  442.       self.x = x
  443.       self.y = y
  444.       self.height = height
  445.       self.width = width
  446.       #self.opacity = 0
  447.       
  448.       unless @no_term_stop
  449.         self.contents.dispose
  450.         self.contents = Bitmap.new(width - 32, height - 32)
  451.         self.back_opacity = FUKI::FUKI_OPACITY
  452.         self.contents.clear
  453.         self.contents.font.color = Color.new(0, 0, 0, 255)
  454.         self.contents.font.size = FUKI::MES_FONT_SIZE
  455.       end
  456.       # 描绘尾部图标
  457.       if $game_system.message_frame == 0
  458.         # 取得位置
  459.         tale_pos = get_tale_pos
  460.         @tale = Sprite.new
  461.         @tale.opacity = 200
  462.         # 是否显示尾部图标 <- bbschat
  463.         if FUKI::TAIL_SHOW == true
  464.           case @message_position
  465.             when 0  # 上
  466.               @tale.bitmap = RPG::Cache.icon("message_箭头")
  467.               @tale.x = tale_pos[0]
  468.               @tale.y = tale_pos[1]
  469.               @tale.z = self.z + 1
  470.             when 1  # 中
  471.               @tale.dispose
  472.               @tale = nil
  473.             when 2  # 下
  474.               @tale.bitmap = RPG::Cache.icon("message_箭头(改)")
  475.               @tale.angle = 0
  476.               @tale.x = tale_pos[0]
  477.               @tale.y = tale_pos[1]
  478.               @tale.z = self.z + 1
  479.           end
  480.         end
  481.       end
  482.     rescue
  483.       del_fukidasi
  484.       reset_window(width, height)
  485.     end
  486.   end
  487.   #--------------------------------------------------------------------------
  488.   # ○ 新功能:根据输入文章计算呼出对话框的位置
  489.   #--------------------------------------------------------------------------
  490.   def get_character_KKME
  491.     if @kkme_name == "" or @kkme_name == nil
  492.       return nil
  493.     else
  494.       @kkme_name.gsub!(/\\\\[Nn]\\[([0-9]+)\\]/) do
  495.         $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  496.       end
  497.       $mes_name = @kkme_name
  498.       for ev in $game_map.events.values
  499.         if ev.name == @kkme_name
  500.           return ev
  501.         end
  502.       end
  503.       for actor in $game_party.actors
  504.         if actor.name == @kkme_name
  505.           return $game_player
  506.         end
  507.       end
  508.       return nil
  509.     end
  510.   end
  511.    
  512.   
  513.   #--------------------------------------------------------------------------
  514.   # ○ 计算呼出对话框的位置
  515.   #--------------------------------------------------------------------------
  516.   def get_fuki_pos(width, height)
  517.    
  518.     # 取得角色
  519.     if $mes_id != nil
  520.       @character = get_character($mes_id)
  521.     else
  522.       @character = get_character_KKME
  523.     end
  524.    
  525.     if @character == nil
  526.       # 角色不存在的情况下使用默认信息框
  527.       del_fukidasi
  528.       reset_window(width, height)
  529.       return
  530.     end
  531.     # 处理坐标
  532.     x = ( @character.real_x - $game_map.display_x + 64 ) * 32 / 128 - (width / 2)
  533.     # 为尽量显示在画面内而移动横坐标
  534.     if x + width > 640
  535.       x = 640 - width
  536.     elsif x < 0
  537.       x = 0
  538.     end
  539.     # 决定窗口位置
  540.     case $game_system.message_position
  541.       when 0  # 上
  542.         y = (@character.real_y - $game_map.display_y + 64) * 32 / 128 - height - FUKI::CHARACTOR_HEIGHT + FUKI::POP_SHIFT_TOP
  543.       when 1  # 中
  544.         y = (480 - height) / 2
  545.         x = (640 - width) / 2
  546.       when 2  # 下
  547.         y =  (@character.real_y - $game_map.display_y + 64) * 32 / 128 + 32 + FUKI::POP_SHIFT_UNDER
  548.     end
  549.     # 纪录文章显示位置
  550.     @message_position = $game_system.message_position
  551.     # 如果选择自动修正,则如果文章会显示到画面外则自动改变窗口的尺寸(高度)
  552.     if FUKI::POS_FIX
  553.       case @message_position
  554.         when 0  # 上
  555.           if y <= 0
  556.             @message_position = 2
  557.             y =  (@character.real_y - $game_map.display_y + 64) * 32 / 128 + 32 + FUKI::POP_SHIFT_UNDER
  558.           end
  559.         when 2  # 下
  560.           if y + height >= 480
  561.             @message_position = 0
  562.             y = (@character.real_y - $game_map.display_y + 64) * 32 / 128 - height - FUKI::CHARACTOR_HEIGHT + FUKI::POP_SHIFT_TOP
  563.           end
  564.       end
  565.     end
  566.     return [x,y]
  567.    
  568.   end
  569.   
  570.   #--------------------------------------------------------------------------
  571.   # ○ 计算尾部图标的位置
  572.   #--------------------------------------------------------------------------
  573.   def get_tale_pos
  574.     case @message_position
  575.       when 0  # 上
  576.         # 处理坐标
  577.         x = ( @character.real_x - $game_map.display_x + 64 ) * 32 / 128 - 16
  578.         # 画面边缘的话则移动位置
  579.         if FUKI::CORNER_SHIFT
  580.           if x == 0
  581.             x = FUKI::SHIFT_PIXEL
  582.           elsif x == 640 - 32
  583.             x = 640 - 32 - FUKI::SHIFT_PIXEL
  584.           end
  585.         end
  586.         y = self.y + self.height - 16
  587.       when 1  # 中
  588.         x = nil
  589.         y = nil
  590.       when 2  # 下
  591.         # 处理坐标
  592.         x = ( @character.real_x - $game_map.display_x + 64 ) * 32 / 128 - 16
  593.         # 画面边缘的话则移动位置
  594.         if FUKI::CORNER_SHIFT
  595.           if x == 0
  596.             x = FUKI::SHIFT_PIXEL
  597.           elsif @tale.x == 640 - 32
  598.             x = 640 - 32 - FUKI::SHIFT_PIXEL
  599.           end
  600.         end
  601.         y = self.y - 16
  602.     end
  603.     return [x+8, y+10]
  604.   end
  605.   #--------------------------------------------------------------------------
  606.   # ○ 计算名字窗口的位置
  607.   #--------------------------------------------------------------------------
  608.   def get_name_pos
  609.     case @face_pic_txt
  610.       when 0  # 文字
  611.         x = self.x + FUKI::NAME_SHIFT_X
  612.         y = self.y - FUKI::NAME_FONT_SIZE - 16 + FUKI::NAME_SHIFT_Y
  613.       when 1  # 图片
  614.         if self.x >= @pic_width + 5
  615.           # 默认头像显示在对话框左边
  616.           x = self.x-@pic_width-5
  617.         else
  618.           # 对话框左边放不下时头像显示在右边
  619.           x = self.x + self.width
  620.         end
  621.         y = self.y+self.height/2 - (@pic_height + 5)/2
  622.       end
  623.     return [x,y]
  624.   end
  625.   
  626.   #--------------------------------------------------------------------------
  627.   # ○ 设置角色名字窗口
  628.   #--------------------------------------------------------------------------
  629.   def set_namewindow
  630.    
  631.     # $mes_name为空时不显示角色名字窗口
  632.     if $mes_name == nil or $mes_name == ""
  633.       return
  634.     else
  635.       # 设定变量
  636.       mes_name = $mes_name
  637.       skin = FUKI::NAME_SKIN_NAME != "" ? FUKI::NAME_SKIN_NAME : $game_system.windowskin_name
  638.       
  639.       #判断名称是否有对应的图片"Graphics/heads/" +
  640.       if $game_temp.namebmp[mes_name] == nil then
  641.         sFile = "Graphics/heads/" + mes_name #+ ".png"
  642.       else
  643.         sFile = "Graphics/heads/" + $game_temp.namebmp[mes_name] #+ ".png"
  644.       end
  645.       
  646.       #if FileTest.exist?(sFile) == true then
  647.       begin
  648.                
  649.         #@face_pic_txt = 1                       #名字窗口使用头像<- bbschat
  650.         
  651.         # 生成头像
  652.         ####################CHANGE#########################
  653.         move_value = 50 #移动30个像素
  654.         move_time = 15  #渐变15帧
  655.         
  656.         if $game_temp.message_text.scan(/\\\\[Ff]\\[([0-9]+)\\]/) != []
  657.           #p $1
  658.           @face_add = $1.to_s
  659.         else
  660.           @face_add = ""
  661.         end
  662.         #p sFile + @face_add
  663.         bmp = Bitmap.new(sFile + @face_add)
  664.         @pic_width = bmp.width
  665.         @pic_height = bmp.height
  666.         pic_x = 0  
  667.         pic_y = 0
  668.         pic_x_move = 0
  669.         #p "get into"
  670.         if $game_temp.message_text.scan(/\\\\[Ll]k/) != []
  671.           @kill_left = true
  672.         else
  673.           @kill_left = false         
  674.         end
  675.         if $game_temp.message_text.scan(/\\\\[Rr]k/) != []
  676.           @kill_right = true
  677.         else
  678.           @kill_right = false
  679.         end
  680.         if $game_temp.message_text.scan(/\\\\[Ll]h/) != []
  681.           @hide_left = true
  682.         else
  683.           @hide_left = false
  684.         end
  685.         if $game_temp.message_text.scan(/\\\\[Rr]h/) != []
  686.           @hide_right = true
  687.         else
  688.           @hide_right = false
  689.         end   
  690.         if $game_temp.message_text.scan(/\\\\[Ll]s/) != []
  691.           if @left_now == sFile
  692.             x = $game_screen.pictures[49].x
  693.             y = $game_screen.pictures[49].y
  694.             unless @face_add == nil or @face_add == ""
  695.               name = sFile + @face_add
  696.               x = $game_screen.pictures[49].x
  697.               y = $game_screen.pictures[49].y
  698.               opacity = $game_screen.pictures[49].opacity
  699.               $game_screen.pictures[49].show(name,0,x,y,100,100,opacity,0)
  700.             end
  701.             $game_screen.pictures[49].move(4,0,x,y,100,100,255,0)
  702.             return
  703.           else
  704.             @type_now = 1
  705.             @left_now = sFile
  706.           end
  707.         end
  708.         if $game_temp.message_text.scan(/\\\\[Rr]s/) != []
  709.           if @right_now == sFile
  710.             x = $game_screen.pictures[48].x
  711.             y = $game_screen.pictures[48].y
  712.             unless @face_add == nil or @face_add == ""
  713.               name = sFile + @face_add
  714.               x = $game_screen.pictures[48].x
  715.               y = $game_screen.pictures[48].y
  716.               opacity = $game_screen.pictures[48].opacity
  717.               $game_screen.pictures[48].show(name,0,x,y,100,100,opacity,0)
  718.             end
  719.             $game_screen.pictures[48].move(4,0,x,y,100,100,255,0)
  720.             return
  721.           else
  722.             @type_now = 2
  723.             @right_now = sFile
  724.           end
  725.         end
  726.    
  727.         
  728.      
  729.         if @type_now == 1 #左边
  730.           pic_x = 80 - @pic_width / 3
  731.           pic_x_move = pic_x - move_value
  732.         else
  733.           pic_x = 560 - @pic_width / 3 * 2
  734.           pic_x_move = pic_x + move_value
  735.         end
  736.         pic_y = 480 - @pic_height
  737.         
  738.         if @type_now == 1
  739.           $game_screen.pictures[49].show(sFile + @face_add,0,pic_x_move,pic_y,100,100,0,0)
  740.           $game_screen.pictures[49].move(move_time,0,pic_x,pic_y,100,100,255,0)
  741.         else
  742.           $game_screen.pictures[48].show(sFile + @face_add,0,pic_x_move,pic_y,100,100,0,0)
  743.           $game_screen.pictures[48].move(move_time,0,pic_x,pic_y,100,100,255,0)
  744.         end
  745.         #p "drawEND"
  746.         #self.width += @pic_width
  747.         
  748.         #if self.x >= @pic_width + 5
  749.           # 默认头像显示在对话框左边
  750.         #  name_x = self.x-@pic_width-5
  751.         #else
  752.           # 对话框左边放不下时头像显示在右边
  753.         #  name_x = self.x + self.width
  754.         #end
  755.         #name_y = self.y+self.height/2 - (@pic_height + 5)/2
  756.         
  757.         # 生成角色头像窗口
  758.         #@name_win = Window_Base.new(name_x, name_y, @pic_width + 5, @pic_height + 5)
  759.         #@name_win.windowskin = RPG::Cache.windowskin(skin)
  760.         #@name_win.opacity =0     
  761.         #@name_win.z = self.z + 1
  762.         #@name_contents.dispose if @name_contents != nil
  763.         #@name_contents = Sprite.new
  764.         #@name_contents.x = self.x + self.width - bmp.width
  765.         #@name_contents.y = name_y - 7
  766.         #@name_contents.bitmap = bmp
  767.         #@name_contents.z = self.z + 3
  768.         #@name_contents.opacity = 0
  769.         #self.width += 50
  770.         #@name_contents.z = @name_win.z + 2     #这个用了似乎效果不好<- bbschat
  771.         ##################CHANGE#########################
  772.       rescue
  773.         #p $!
  774.       end
  775.     end
  776.   end
  777.   
  778.   #--------------------------------------------------------------------------
  779.   # ○ 释放呼出对话框和角色名字窗口
  780.   #--------------------------------------------------------------------------
  781.   def del_fukidasi
  782.     if @tale != nil
  783.       @tale.dispose
  784.       @tale = nil
  785.     end
  786.     if @name_win != nil
  787.       @name_win.dispose
  788.       @name_win = nil
  789.       @name_contents.dispose
  790.       @name_contents = nil
  791.     end
  792.     self.opacity = 0
  793.     self.x = 90
  794.     self.width = 460
  795.     self.height = 120
  796.     self.contents.dispose
  797.     self.contents = Bitmap.new(width - 32, height - 32)
  798.     self.pause = true
  799.   end
  800.   
  801.   #--------------------------------------------------------------------------
  802.   # ○ 取得角色
  803.   #     parameter : 参数
  804.   #--------------------------------------------------------------------------
  805.   def get_character(parameter)
  806.     # 参数分歧
  807.     case parameter
  808.     when -1  # 玩家
  809.       return $game_player
  810.     when 0   # 该事件
  811.       events = $game_map.events
  812.       return events == nil ? nil : events[$active_event_id]
  813.     else     # 特定事件
  814.       events = $game_map.events
  815.       return events == nil ? nil : events[parameter]
  816.     end
  817.   end
  818.   
  819.   #--------------------------------------------------------------------------
  820.   # ● 设定窗口位置和不透明度
  821.   #--------------------------------------------------------------------------
  822.   def reset_window(width = nil, height = nil)
  823.     if $game_temp.in_battle
  824.       self.y = 16
  825.     else
  826.       case $game_system.message_position
  827.       when 0  # 上
  828.         self.y = 16
  829.       when 1  # 中
  830.         if height != nil and width != nil
  831.           self.y = (480 - height) / 2 - 32
  832.           self.x = (640 - width) / 2
  833.           self.width = width
  834.           self.height = height
  835.           self.contents.dispose
  836.           self.contents = Bitmap.new(width - 32, height - 32)
  837.         else
  838.           self.y = 160
  839.         end
  840.       when 2  # 下
  841.         self.y = 304
  842.       end
  843.     end
  844.     #if $game_system.message_frame == 0
  845.       #self.opacity = 255
  846.     #else
  847.       self.opacity = 0
  848.     #end
  849.     self.back_opacity = FUKI::MES_OPACITY
  850.   end
  851.   
  852.   #--------------------------------------------------------------------------
  853.   # ● 刷新画面
  854.   #--------------------------------------------------------------------------
  855.   def update
  856.     super
  857.     #if @no_term_stop
  858.       #terminate_messageX      
  859.     #end
  860.    
  861.     # 呼出模式下跟随事件移动
  862.     if @tale != nil
  863.       pos = get_fuki_pos(self.width, self.height)
  864.       self.x = pos[0]
  865.       self.y = pos[1]
  866.       tale_pos = get_tale_pos
  867.       @tale.x = tale_pos[0]
  868.       @tale.y = tale_pos[1]
  869.    
  870.       @pic_skin.x = self.x + 2
  871.       @pic_skin.y = self.y + 2
  872.       if @name_contents != nil and !@name_contents.disposed?
  873.       @name_contents.x = self.x + self.width - @name_contents.bitmap.width - 22
  874.       @name_contents.y = self.y + self.height - @name_contents.bitmap.height - 6
  875.       end
  876.    
  877.       if @name_win != nil
  878.         name_pos = get_name_pos
  879.         @name_win.x = name_pos[0]
  880.         @name_win.y = name_pos[1]
  881.         case @face_pic_txt
  882.           when 0  # 文字
  883.             @name_contents.x = @name_win.x + 12
  884.             @name_contents.y = @name_win.y + 8
  885.           when 1  # 图片
  886.             @name_contents.x = @name_win.x + 2
  887.             @name_contents.y = @name_win.y + 2
  888.           end
  889.       end
  890.     end
  891.    
  892.     # 渐变的情况下
  893.     if @fade_in
  894.       #if @no_term_stop
  895.         #@fade_in = false
  896.         #return
  897.       #else        
  898.         self.contents_opacity += 24
  899.         @pic_skin.opacity += 20
  900.         if @name_win != nil
  901.           @name_win.opacity += 24
  902.         end
  903.         if @tale != nil
  904.           @name_contents.opacity += 24 if @name_contents != nil and !@name_contents.disposed?
  905.           @tale.opacity += 20
  906.         end
  907.         if @input_number_window != nil
  908.           @input_number_window.contents_opacity += 24
  909.         end
  910.         if self.contents_opacity == 255
  911.           @fade_in = false
  912.         end
  913.         return
  914.       #end
  915.     end
  916.     # 显示信息中的情况下
  917.     if @contents_drawing
  918.       refresh_drawtext
  919.       return
  920.     end
  921.     # 输入数值的情况下
  922.     if @input_number_window != nil
  923.       @input_number_window.update
  924.       # 确定
  925.       if Input.trigger?(Input::C)
  926.         $game_system.se_play($data_system.decision_se)
  927.         $game_variables[$game_temp.num_input_variable_id] =
  928.           @input_number_window.number
  929.         $game_map.need_refresh = true
  930.         # 释放输入数值窗口
  931.         @input_number_window.dispose
  932.         @input_number_window = nil
  933.         terminate_message
  934.       end
  935.       return
  936.     end
  937.     # 显示信息结束的情况下
  938.     if @contents_showing_end
  939.       # 不是显示选择项且不是呼出对话模式则显示暂停标志
  940.       if $game_temp.choice_max == 0 and @tale == nil
  941.         self.pause = true
  942.       else
  943.         self.pause = false
  944.       end
  945.       # 取消
  946.       if Input.trigger?(Input::B)
  947.         if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
  948.           $game_system.se_play($data_system.cancel_se)
  949.           $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
  950.           terminate_message
  951.         end
  952.       end
  953.       # 确定
  954.       if Input.trigger?(Input::C)
  955.         if $game_temp.choice_max > 0
  956.           $game_system.se_play($data_system.decision_se)
  957.           $game_temp.choice_proc.call(self.index)
  958.         end
  959.         terminate_message
  960.         # 释放呼出窗口
  961.         del_fukidasi
  962.       end
  963.       return
  964.     end
  965.     # 在渐变以外的状态下有等待显示的信息与选择项的场合
  966.     if @fade_out == false and $game_temp.message_text != nil
  967.       @contents_showing = true
  968.       $game_temp.message_window_showing = true
  969.       reset_window
  970.       refresh_create
  971.       if @no_term_stop
  972.         self.visible = true        
  973.       else
  974.         if @name_win != nil
  975.           @name_win.opacity = 0
  976.         end
  977.         if @tale != nil
  978.           @tale.opacity = 0
  979.         end
  980.         Graphics.frame_reset
  981.         self.visible = true
  982.         self.contents_opacity = 0
  983.         if @input_number_window != nil
  984.           @input_number_window.contents_opacity = 0
  985.         end
  986.         @fade_in = true
  987.       end
  988.       return
  989.     end
  990.    
  991.     # 没有可以显示的信息、但是窗口为可见的情况下
  992.     unless @no_term_stop
  993.       if self.visible
  994.         @fade_out = true
  995.         self.opacity -= 48
  996.         @name_contents.opacity -= 48 if @name_contents != nil and !@name_contents.disposed?
  997.         @pic_skin.opacity -= 48 if @pic_skin != nil and !@pic_skin.disposed?
  998.         if @name_win != nil
  999.           @name_win.opacity -= 48        
  1000.         end
  1001.         if @tale != nil
  1002.           @tale.opacity -= 48 if @tale != nil and !@tale.disposed?
  1003.         end
  1004.         if (@name_contents == nil) or @name_contents.disposed? or (@name_contents.opacity == 0)
  1005.           self.visible = false
  1006.           @name_contents.dispose if @name_contents != nil
  1007.           @pic_skin.dispose
  1008.           @fade_out = false
  1009.           $game_temp.message_window_showing = false
  1010.           del_fukidasi
  1011.         end
  1012.         return
  1013.       end
  1014.     else
  1015.       $game_temp.message_window_showing = false   
  1016.     end
  1017.    
  1018.   end
  1019.   
  1020.   #--------------------------------------------------------------------------
  1021.   # ● 释放
  1022.   #--------------------------------------------------------------------------
  1023.   def dispose
  1024.     terminate_message
  1025.     $game_temp.message_window_showing = false
  1026.     if @input_number_window != nil
  1027.       @input_number_window.dispose
  1028.     end
  1029.     super
  1030.   end
  1031.   
  1032.   #--------------------------------------------------------------------------
  1033.   # ● 信息结束处理
  1034.   #--------------------------------------------------------------------------
  1035.   def terminate_message
  1036.     self.active = false
  1037.     self.pause = false
  1038.     self.index = -1
  1039.     self.contents.clear
  1040.     # 清除显示中标志
  1041.     @contents_showing = false
  1042.     @contents_showing_end = false
  1043.     unless @kkme_name == "" or @kkme_name == nil
  1044.       $mes_name = ""
  1045.       @kkme_name = ""
  1046.     end
  1047.     # 呼叫信息调用
  1048.     if $game_temp.message_proc != nil
  1049.       $game_temp.message_proc.call
  1050.     end
  1051.     # 清除文章、选择项、输入数值的相关变量
  1052.     $game_temp.message_text = nil
  1053.     $game_temp.message_proc = nil
  1054.     $game_temp.choice_start = 99
  1055.     $game_temp.choice_max = 0
  1056.     $game_temp.choice_cancel_type = 0
  1057.     $game_temp.choice_proc = nil
  1058.     $game_temp.num_input_start = 99
  1059.     $game_temp.num_input_variable_id = 0
  1060.     $game_temp.num_input_digits_max = 0
  1061.     # 释放金钱窗口
  1062.     if @gold_window != nil
  1063.       @gold_window.dispose
  1064.       @gold_window = nil
  1065.     end
  1066.     @no_term_stop = false
  1067.     @save_x = 0
  1068.     @save_y = 0
  1069.     ##############################################
  1070.     if @kill_left == true
  1071.       x = $game_screen.pictures[49].x
  1072.       y = $game_screen.pictures[49].y
  1073.       @left_now = ""
  1074.       $game_screen.pictures[49].move(15,0,x - 30,y,100,100,0,0)      
  1075.     end
  1076.     if @kill_right == true
  1077.       x = $game_screen.pictures[48].x
  1078.       y = $game_screen.pictures[48].y
  1079.       @right_now = ""
  1080.       $game_screen.pictures[48].move(15,0,x + 30,y,100,100,0,0)  
  1081.     end
  1082.     if @hide_left == true
  1083.       x = $game_screen.pictures[49].x
  1084.       y = $game_screen.pictures[49].y  
  1085.       $game_screen.pictures[49].move(5,0,x,y,100,100,235,0)
  1086.     end
  1087.     if @hide_right == true
  1088.       x = $game_screen.pictures[48].x
  1089.       y = $game_screen.pictures[48].y  
  1090.       $game_screen.pictures[48].move(5,0,x,y,100,100,235,0)
  1091.     end
  1092.     ##############################################
  1093.   end
  1094.   #--------------------------------------------------------------------------
  1095.   # ● ★信息结束处理★
  1096.   #--------------------------------------------------------------------------
  1097.   def terminate_messageX
  1098.     self.active = false
  1099.     self.pause = false
  1100.     self.index = -1
  1101.     # 清除显示中标志
  1102.     @contents_showing = false
  1103.     @contents_showing_end = false
  1104.     # 呼叫信息调用
  1105.     if $game_temp.message_proc != nil
  1106.       $game_temp.message_proc.call
  1107.     end
  1108.     # 清除文章、选择项、输入数值的相关变量
  1109.     $game_temp.message_text = nil
  1110.     $game_temp.message_proc = nil
  1111.     @no_term_stop = true
  1112.   end
  1113.   
  1114.   def clear
  1115.     self.contents.clear   
  1116.     @save_x = 0
  1117.     @save_y = 0
  1118.   end
  1119.   #--------------------------------------------------------------------------
  1120.   # ● 刷新光标矩形
  1121.   #--------------------------------------------------------------------------
  1122.   def update_cursor_rect
  1123.     if @index >= 0
  1124.       n = $game_temp.choice_start + @index
  1125.       self.cursor_rect.set(8, n * 32, @cursor_width, 32)
  1126.     else
  1127.       self.cursor_rect.empty
  1128.     end
  1129.   end
  1130.   #--------------------------------------------------------------------------
  1131.   # ● 取得普通文字色
  1132.   #--------------------------------------------------------------------------
  1133.   def normal_color
  1134.     nil_color = Color.new(0,0,0,255)
  1135.     if FUKI::FUKI_COLOR != nil_color
  1136.       color = FUKI::FUKI_COLOR
  1137.     else
  1138.       color = super
  1139.     end
  1140.     return color
  1141.   end
  1142. end
复制代码
回复 支持 反对

使用道具 举报

4

主题

10

帖子

107

积分

③业余

积分
107
 楼主| 发表于 2010-1-20 20:27:44 | 显示全部楼层
楼上用你的脚本时
运行出错了
\\Graphics\\Icons\\message_左上
回复 支持 反对

使用道具 举报

4

主题

10

帖子

107

积分

③业余

积分
107
 楼主| 发表于 2010-1-20 20:29:23 | 显示全部楼层
422行
  def pic_back
    @pic_skin.dispose if @pic_skin != nil
    @pic_skin = Sprite.new
    @pic_skin.opacity = 0 unless @no_term_stop
    @pic_skin.bitmap = Bitmap.new(self.width + 35, self.height + 35)
    @pic_skin.x = self.x + 2
    @pic_skin.y = self.y + 2
    @pic_skin.z = self.z
    @pic_skin.bitmap.blt(0, 0, RPG::Cache.icon("message_左上"),  RPG::Cache.icon("message_左上").rect)
    @pic_skin.bitmap.blt(self.width - 35, 0, RPG::Cache.icon("message_右上"),  RPG::Cache.icon("message_右上").rect)
    @pic_skin.bitmap.blt(0, self.height - 35, RPG::Cache.icon("message_左下"),  RPG::Cache.icon("message_左下").rect)
    @pic_skin.bitmap.blt(self.width - 35, self.height - 35, RPG::Cache.icon("message_右下"),  RPG::Cache.icon("message_右下").rect)
    @pic_skin.bitmap.stretch_blt(Rect.new(0,35,35,self.height-70), RPG::Cache.icon("message_左"), RPG::Cache.icon("message_左").rect)
    @pic_skin.bitmap.stretch_blt(Rect.new(self.width - 35,35,35,self.height-70), RPG::Cache.icon("message_右"), RPG::Cache.icon("message_右").rect)
    @pic_skin.bitmap.stretch_blt(Rect.new(35,0,self.width-70,35), RPG::Cache.icon("message_上"), RPG::Cache.icon("message_上").rect)
    @pic_skin.bitmap.stretch_blt(Rect.new(35,self.height-35,self.width-70,35), RPG::Cache.icon("message_下"), RPG::Cache.icon("message_下").rect)
    @pic_skin.bitmap.stretch_blt(Rect.new(35,35,self.width-70,self.height-70), RPG::Cache.icon("message_中"), RPG::Cache.icon("message_中").rect)
  end

这一段代码。。在我那里应该怎样改?
回复 支持 反对

使用道具 举报

15

主题

271

帖子

2198

积分

⑥精研

我要疯狂积累活跃度!

积分
2198
QQ
发表于 2010-1-20 21:04:43 | 显示全部楼层
在哪个指定文件夹里面放上指定名称的图片。不用改代码。
紫月光流奈河畔, 孤影独行笑苍天。 酆都倒比人间好, 从此慕鬼不羡仙!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-22 02:50 , Processed in 0.025648 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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