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

Project1

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

关于对话框的问题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-7-8
帖子
42
跳转到指定楼层
1
发表于 2008-5-21 03:18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-30
帖子
537
2
发表于 2008-5-21 03:20:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
3
发表于 2008-5-21 03:42:18 | 只看该作者
人物头像的显示方法是用公共事件的么? 如果是的话 在公共事件

显示图片那里 右键 编辑 直接指定的 坐标 更改就行

(下面的没试过,应该吧)如果是66整合的MESSAGE的话 左边的 貌似在230行左右 也是更改XY
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-7-8
帖子
42
4
 楼主| 发表于 2008-5-21 03:44:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-7-8
帖子
42
5
 楼主| 发表于 2008-5-21 04:08:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-1-12
帖子
203
6
发表于 2008-5-21 05:44:44 | 只看该作者
Window_Message第12行 super(80, 304, 480, 160)
你把80改大试试

另外,如果你觉得对话框挡住了图不好,也可以试试让图挡住对话框
看http://rpg.blue/web/htm/news301.htm
的1.d)
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-7-8
帖子
42
7
 楼主| 发表于 2008-5-21 12:54:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
19 小时
注册时间
2007-12-30
帖子
89
8
发表于 2008-5-21 14:58:02 | 只看该作者
直接删除你原来的Window_Message
把这个我修改合成过的带头像边框+蹦字的脚本复制到原来的地方。
如果用了对话框加强,里面也要改下,道理一样,看这个脚本应该能明白。

  1. #脚本功能:蹦字文章
  2. #使用方法:替换Window_Message类,其中打####的行是我修改过的,具体内容可以参看注释
  3. #效果:变为类似RM2003的对话效果,一个字一个字蹦
  4. #版权:未知,有任何版权纠纷,本站不负任何责任。
  5. class Window_Message < Window_Selectable
  6. # ------------------------------------
  7. def initialize
  8.   super(80, 304, 480, 160)
  9.   self.contents = Bitmap.new(width - 32, height - 32)
  10.   self.visible = false
  11.   self.z = 9998
  12.   @update_text = true
  13.   @fade_in = false
  14.   @fade_out = false
  15.   @contents_showing = false
  16.   @cursor_width = 0
  17. #############################################################################
  18.   @wait_count = 0
  19. #############################################################################
  20.   self.active = false
  21.   self.index = -1
  22. end
  23. # ------------------------------------
  24. def dispose
  25.   terminate_message
  26.   $game_temp.message_window_showing = false
  27.   if @input_number_window != nil
  28.     @input_number_window.dispose
  29.   end
  30.   super
  31. end
  32. # ------------------------------------
  33. def terminate_message
  34.   self.active = false
  35.   self.pause = false
  36.   self.index = -1
  37.   self.contents.clear
  38.   @update_text = true
  39.   @contents_showing = false
  40.   if $game_temp.message_proc != nil
  41.     $game_temp.message_proc.call
  42.   end
  43.   $game_temp.message_text = nil
  44.   $game_temp.message_proc = nil
  45.   $game_temp.choice_start = 99
  46.   $game_temp.choice_max = 0
  47.   $game_temp.choice_cancel_type = 0
  48.   $game_temp.choice_proc = nil
  49.   $game_temp.num_input_start = 99
  50.   $game_temp.num_input_variable_id = 0
  51.   $game_temp.num_input_digits_max = 0
  52.   if @gold_window != nil
  53.     @gold_window.dispose
  54.     @gold_window = nil
  55.   end
  56. end
  57. # ------------------------------------
  58. def refresh
  59.   self.contents.clear
  60.   self.contents.font.color = normal_color
  61.   @x = @y = 0
  62.   @cursor_width = 0
  63.   if $game_temp.choice_start == 0
  64.     @x = 8
  65.   end
  66.   if $game_temp.message_text != nil
  67.     @text = $game_temp.message_text
  68.     begin
  69.     last_text = @text.clone
  70.     @text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  71.     end until @text == last_text
  72.     @text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  73.     $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  74.     end
  75.     @text.gsub!(/\\\\/) { "\000" }
  76.     @text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  77.     @text.gsub!(/\\[Gg]/) { "\002" }
  78.   end
  79. end
  80. # ------------------------------------
  81. def reset_window
  82.   if $game_temp.in_battle
  83.     self.y = 16
  84.   else
  85.     case $game_system.message_position
  86.     when 0
  87.     self.y = 16
  88.     when 1
  89.     self.y = 160
  90.     when 2
  91.     self.y = 304
  92. ###########################################################################
  93.       when 3  #放头像处,也就是下面事件引用的地方。
  94.         self.x = 160
  95. ###########################################################################
  96.     end
  97.   end
  98.   if $game_system.message_frame == 0
  99.     self.opacity = 255
  100.   else
  101.     self.opacity = 0
  102.   end
  103.   self.back_opacity = 160
  104. end
  105. # ------------------------------------
  106. def update_text
  107.   if @text != nil
  108. #############################################################################
  109.     @wait_count = 1   #此处修改字的弹出速度,改为0为每桢一个字,2为每3桢一个字,越大越慢.一样,不想要蹦,自己删掉。
  110. #############################################################################
  111.     while ((c = @text.slice!(/./m)) != nil)
  112.     if c == "\000"
  113.       c = "\\"
  114.     end
  115.     if c == "\001"
  116.       @text.sub!(/\[([0-9]+)\]/, "")
  117.       color = $1.to_i
  118.       if color >= 0 and color <= 7
  119.         self.contents.font.color = text_color(color)
  120.       end
  121.     end
  122.     if c == "\002"
  123.       if @gold_window == nil
  124.         @gold_window = Window_Gold.new
  125.         @gold_window.x = 560 - @gold_window.width
  126.         if $game_temp.in_battle
  127.         @gold_window.y = 192
  128.         else
  129.         @gold_window.y = self.y >= 128 ? 32 : 384
  130.         end
  131.         @gold_window.opacity = self.opacity
  132.         @gold_window.back_opacity = self.back_opacity
  133.       end
  134.       next
  135.     end
  136.     if c == "\n"
  137.       if @y >= $game_temp.choice_start
  138.         @cursor_width = [@cursor_width, @x].max
  139.       end
  140.       @y += 1
  141.       @x = 0
  142.       if @y >= $game_temp.choice_start
  143.         @x = 8
  144.       end
  145.       next
  146.     end
  147.     self.contents.draw_text(4 + @x, 32 * @y, 40, 32, c)
  148.     @x += self.contents.text_size(c).width
  149. #############################################################################
  150. #Audio.se_play("Audio/SE/032-Switch01",100,100) #去掉[#]可以有声效,也可自定义声效
  151. #############################################################################
  152.     return
  153.     end
  154.   end
  155.   if $game_temp.choice_max > 0
  156.     @item_max = $game_temp.choice_max
  157.     self.active = true
  158.     self.index = 0
  159.   end
  160.   if $game_temp.num_input_variable_id > 0
  161.     digits_max = $game_temp.num_input_digits_max
  162.     number = $game_variables[$game_temp.num_input_variable_id]
  163.     @input_number_window = Window_InputNumber.new(digits_max)
  164.     @input_number_window.number = number
  165.     @input_number_window.x = self.x + 8
  166.     @input_number_window.y = self.y + $game_temp.num_input_start * 32
  167.   end
  168.   @update_text = false #??
  169. end
  170. # ------------------------------------
  171. def update
  172.   super
  173.   if @fade_in
  174.     self.contents_opacity = 255
  175.     if @input_number_window != nil
  176.     @input_number_window.contents_opacity = 255
  177.     end
  178.     if self.contents_opacity == 255
  179.     @fade_in = false
  180.     end
  181.   end
  182.   if @input_number_window != nil
  183.     @input_number_window.update
  184.     if Input.trigger?(Input::C)
  185.     $game_system.se_play($data_system.decision_se)
  186.     $game_variables[$game_temp.num_input_variable_id] =
  187.       @input_number_window.number
  188.     $game_map.need_refresh = true
  189.     @input_number_window.dispose
  190.     @input_number_window = nil
  191.     terminate_message
  192.     end
  193.     return
  194.   end
  195.   if @contents_showing
  196. #############################################################################
  197.     if @update_text
  198.     if @wait_count == 0
  199.       update_text
  200.       return
  201.     else
  202.       @wait_count -=1
  203.       return
  204.     end
  205.     end
  206. #############################################################################
  207.     if $game_temp.choice_max == 0
  208.     self.pause = true
  209.     end
  210.     if self.pause == true && Input.dir4 != 0
  211.     terminate_message
  212.     end
  213.     if Input.trigger?(Input::B)
  214.     if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
  215.       $game_system.se_play($data_system.cancel_se)
  216.       $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
  217.       terminate_message
  218.     end
  219.     terminate_message if self.pause == true
  220.     end
  221.     if Input.trigger?(Input::C)
  222.     if $game_temp.choice_max > 0
  223.       $game_system.se_play($data_system.decision_se)
  224.       $game_temp.choice_proc.call(self.index)
  225.     end
  226.     terminate_message
  227.     end
  228.     return
  229.   end
  230.   if @fade_out == false and $game_temp.message_text != nil
  231.     @contents_showing = true
  232.     $game_temp.message_window_showing = true
  233.     reset_window
  234.     refresh
  235.     Graphics.frame_reset
  236.     self.visible = true
  237.     self.contents_opacity = 0
  238.     if @input_number_window != nil
  239.     @input_number_window.contents_opacity = 0
  240.     end
  241.     @fade_in = true
  242.     return
  243.   end
  244.   if self.visible
  245.     @fade_out = true
  246.     self.opacity = 0
  247.     if self.opacity == 0
  248.     self.visible = false
  249.     @fade_out = false
  250.     $game_temp.message_window_showing = false
  251.     end
  252.     return
  253.   end
  254. end
  255. # ------------------------------------
  256. def update_cursor_rect
  257.   if @index >= 0
  258.     n = $game_temp.choice_start + @index
  259.     self.cursor_rect.set(8, n * 32, @cursor_width, 32)
  260.   else
  261.     self.cursor_rect.empty
  262.   end
  263. end
  264. end
复制代码


之后在游戏刚开始的时候用事件编辑打一下面脚本,自动运行,独立开关A空事件,跳到A情况。
  1. $game_system.message_position = 3
复制代码


到此边框已经调整完毕。


效果图

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
决定继续研究rm中.....这东西真的很强大.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-31 06:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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