Project1

标题: Easy_Message_System - 简易对话加强 [打印本页]

作者: 忧雪の伤    时间: 2011-4-22 19:54
标题: Easy_Message_System - 简易对话加强
本帖最后由 忧雪の伤 于 2011-4-23 13:51 编辑

当前更新:增加了名称显示。
基本介绍:这个脚本实现基本的脸图显示,并且与对话框分离,在外部设定。
使用方法:事件脚本,@face_id = id,接着显示文章,就会有对应编号的脸图显示。如果需要不显示的场合,再将@face_id = 0就可以了。


效果图片:


范例下载: Easy_Message_System.rar (218.04 KB, 下载次数: 1045)


脚本代码:
  1. #==============================================================================
  2. # ** Easy_Message_System
  3. #==============================================================================

  4. #module#
  5. module Easy_Message_System
  6.   #module#
  7.   module Face
  8.     Coordinate = [444, 320]
  9.     Priority = 9999
  10.     Location = "Graphics/Pictures/Face "
  11.   end
  12.   #module#
  13.   module Name
  14.     Display = [348, 104]
  15.   end
  16. end

  17. #class#
  18. class Interpreter
  19.   #attr#
  20.   attr_accessor :face_id
  21.   attr_accessor :face_name
  22.   #alias#
  23.   alias :initialize_easy_message_system :initialize unless method_defined?("initialize_easy_message_system")
  24.   #initialize#
  25.   def initialize(depth = 0, main = false)
  26.     @face_id = 0
  27.     @face_name = ""
  28.     initialize_easy_message_system(depth, main)
  29.   end
  30. end

  31. #class#
  32. class Window_Message < Window_Selectable
  33.   #include#
  34.   include Easy_Message_System::Face
  35.   include Easy_Message_System::Name
  36.   #alias#
  37.   alias :initialize_easy_message_system :initialize unless method_defined?("initialize_easy_message_system")
  38.   alias :refresh_easy_message_system :refresh unless method_defined?("refresh_easy_message_system")
  39.   alias :update_easy_message_system :update unless method_defined?("update_easy_message_system")
  40.   #initialize#
  41.   def initialize
  42.     @face_picture = Sprite.new
  43.     @face_picture.x = Coordinate[0]
  44.     @face_picture.y = Coordinate[1]
  45.     @face_picture.z = Priority
  46.     @face_picture.opacity = 0
  47.     initialize_easy_message_system
  48.   end
  49.   #refresh#
  50.   def refresh
  51.     refresh_easy_message_system
  52.     @face_name = $game_system.map_interpreter.face_name
  53.     self.contents.font.color = system_color
  54.     self.contents.draw_text(Display[0], Display[1], 100, 24, @face_name, 1)
  55.   end
  56.   #update#
  57.   def update
  58.     @face_id = $game_system.map_interpreter.face_id
  59.     @face_picture.opacity += 34 if @fade_in
  60.     @face_picture.opacity -= 58 if @fade_out
  61.     if @face_id != 0
  62.       @face_picture.bitmap = Bitmap.new(Location + "#{@face_id}")
  63.     end
  64.     update_easy_message_system
  65.   end
  66. end
复制代码


其他的话:之所以弄这个……纯粹是对站上所有的能显示脸图的对话框都要在对话框内设定头像感到不满罢了……那个会影响很多东西,特别是换行和打满的时候……话说……可以随意大小的……
作者: 无心孤云    时间: 2011-4-22 20:58
沙发先
其实如果是这个模式.我更建议使用半身像....
作者: 忧雪の伤    时间: 2011-4-23 11:16
更新自顶……
作者: 520ZIA    时间: 2011-5-2 08:12
谢谢分享!
作者: libinsf    时间: 2011-5-27 16:30
返朴归真,不错的想法。相比虽不算华丽,但是却很是有用
作者: 糖克鸡    时间: 2011-5-27 20:37
我建议忧雪姐姐你还是用变量控制那群ID吧.事件脚本框什么的果然不是很好用啊- -




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