Project1

标题: 【求脚本】求VA大头像对话框脚本,要求详见帖内。 [打印本页]

作者: 迷糊的安安    时间: 2012-3-4 12:39
标题: 【求脚本】求VA大头像对话框脚本,要求详见帖内。
本帖最后由 迷糊的安安 于 2012-3-4 14:15 编辑

嗯……求个脚本……

要求如下:
采用开关控制。例如是开关66:大头像脚本功能。

应用举例:
Faces文件夹下有2个文件
Myactor.png 排布为默认的2行4列排布 尺寸为384×192 此文件用于存放标准头像
Myactor_L.png 排布仍然为2行4列排布 但是尺寸没有限制 此文件用于存放大头像

开关66关闭时:
和正常时候一样。
选择Myactor.png时,显示Myactor.png里面的头像作为人物头像

开关66打开时:
当你选择Myactor.png中的头像时,实际读取的是Myactor_L.png中对应位置的头像
将头像显示在对话框上方,同时将对话框替换为无头像的形式。

如图


此脚本仅需考虑对话框普通,居下的情形。

谢谢了。
作者: feizhaodan    时间: 2012-3-4 12:39
本帖最后由 feizhaodan 于 2012-3-4 14:08 编辑
  1. #==============================================================================
  2. # ■ Window_Message
  3. #------------------------------------------------------------------------------
  4. #  显示文字信息的窗口。
  5. #==============================================================================

  6. class Window_Message < Window_Base
  7.   BIG_FACE_SWI = 66
  8.   alias big_face_initialize initialize
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对象
  11.   #     alias:新建头像用精灵
  12.   #--------------------------------------------------------------------------
  13.   def initialize
  14.     big_face_initialize
  15.     @big_face_sprite = Sprite.new
  16.     @big_face_sprite.visible = false
  17.   end
  18.   alias big_face_new_line_x new_line_x
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取换行位置
  21.   #     alias:开关打开时不影响换行位置
  22.   #--------------------------------------------------------------------------
  23.   def new_line_x
  24.     return $game_switches[BIG_FACE_SWI] ? 0 : big_face_new_line_x
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # ● 绘制角色肖像图
  28.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  29.   #     alias:开关打开时改变绘制文件并使用精灵绘制
  30.   #--------------------------------------------------------------------------
  31.   def draw_face(face_name, face_index, x, y, enabled = true)
  32.     if $game_switches[BIG_FACE_SWI]
  33.       if face_name != ""
  34.         fn = "#{face_name}_L#{face_index}"
  35.         b = Cache.face(fn)
  36.       else
  37.         b = Bitmap.new(1,1)
  38.       end
  39.       @big_face_sprite.bitmap = b
  40.       @big_face_sprite.y = self.y - b.height
  41.       @big_face_sprite.visible = true
  42.     else
  43.       @big_face_sprite.visible = false
  44.       super
  45.     end
  46.   end
  47.   alias big_face_dispose_back_sprite dispose_back_sprite
  48.   #--------------------------------------------------------------------------
  49.   # ● 释放背景精灵
  50.   #     alias:在这里释放头像精灵。
  51.   #--------------------------------------------------------------------------
  52.   def dispose_back_sprite
  53.     @big_face_sprite.bitmap.dispose if @big_face_sprite.bitmap
  54.     @big_face_sprite.dispose
  55.     big_face_dispose_back_sprite
  56.   end
  57.   alias big_face_update_back_sprite update_back_sprite
  58.   #--------------------------------------------------------------------------
  59.   # ● 更新背景精灵
  60.   #     alias:在这里更新头像精灵。
  61.   #--------------------------------------------------------------------------
  62.   def update_back_sprite
  63.     big_face_update_back_sprite
  64.     @big_face_sprite.update
  65.   end
  66.   alias big_face_close_and_wait close_and_wait
  67.   #--------------------------------------------------------------------------
  68.   # ● 关闭窗口并等待窗口关闭完成
  69.   #     alias:在这里关闭精灵
  70.   #--------------------------------------------------------------------------
  71.   def close_and_wait
  72.     @big_face_sprite.visible = false
  73.     big_face_close_and_wait
  74.   end
  75. end
复制代码
大致与你的相同。
文件名称我偷懒了= =
假如你选择的是Myactor文件中的第1个,则在开关打开时读取Myactor_L0
即"文件名_L选择的index-1“
没测试,可能有BUG。有的时候PM我。
作者: 迷糊的安安    时间: 2012-3-4 13:14
本帖最后由 迷糊的安安 于 2012-3-4 13:21 编辑
feizhaodan 发表于 2012-3-4 13:02
大致与你的相同。
文件名称我偷懒了= =
假如你选择的是Myactor文件中的第1个,则在开关打开时读取Myactor_L ...


囧 你的意思是你的大头像全是单张的?
小头像选的12345678
大头像对应单张的01234567八个文件?

单张的也不错……

嘛……我拿去测试下先……


‘‘──迷糊的安安于2012-3-4 13:30补充以下内容


报告,有BUG。
’’


‘‘──迷糊的安安于2012-3-4 13:36补充以下内容


这是我执行的测试项

打开开关,显示测试0,大头像没有问题。
再关闭开关,就跳错了。
’’


‘‘──迷糊的安安于2012-3-4 14:16补充以下内容

测试通过,非常感谢。
’’




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