Project1

标题: 请问这个脚本◆显示文章怎么使用。。尴尬 [打印本页]

作者: j296196585    时间: 2016-12-3 12:23
标题: 请问这个脚本◆显示文章怎么使用。。尴尬
RUBY 代码复制
  1. #使用手冊!
  2. #在Main 裏的14行增加 Mess_Text.ini
  3. #
  4. #==============================================================================
  5. # ■ module Mess_Text
  6. #------------------------------------------------------------------------------
  7. #  在地图上显示文章的模块。
  8. #==============================================================================
  9. module Mess_Text
  10.   MAX_LINE = 5  # 最大的行数
  11.   MAX_TIME = 210 # 文字的维持时间
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化
  14.   #--------------------------------------------------------------------------
  15.   def self.ini
  16.     @text_sprite = Sprite.new
  17.     @text_sprite.bitmap = Bitmap.new(350,290)
  18.     @text_sprite.x = 10
  19.     @text_sprite.y = 236 + 124
  20.     @text_sprite.z = 100
  21.     [url=home.php?mod=space&uid=401263]@line[/url] = 0
  22.     [url=home.php?mod=space&uid=134219]@Time[/url] = MAX_TIME
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 设置可见度
  26.   #--------------------------------------------------------------------------
  27.   def self.visible=(v)
  28.     @text_sprite.visible = v
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 获取可见度
  32.   #--------------------------------------------------------------------------
  33.   def self.visible
  34.     return @text_sprite.disposed? ? false : @text_sprite.visible
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 释放
  38.   #--------------------------------------------------------------------------
  39.   def self.dispose
  40.     @text_sprite.dispose
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 清空
  44.   #--------------------------------------------------------------------------
  45.   def self.clear
  46.     @text_sprite.bitmap.clear
  47.     @line = 0
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 刷新
  51.   #--------------------------------------------------------------------------
  52.   def self.update
  53.     if @time > 0
  54.       @time -= 1
  55.     end
  56.     if @time <= 0
  57.       @text_sprite.bitmap.clear
  58.       @line = 0
  59.     end
  60.   end
  61.  
  62.   def self.write(str)
  63.     if @line >= MAX_LINE
  64.       @text_sprite.bitmap.clear
  65.       @line = 0
  66.     end
  67.     @text_sprite.bitmap.font.size = 16
  68.     text_color(2)
  69.     cw = @text_sprite.bitmap.text_size(str).width
  70.     @text_sprite.bitmap.draw_text(0, @line * @text_sprite.bitmap.font.size, cw, 20, str)
  71.     @line += 1
  72.     @time = MAX_TIME
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 获取文字色
  76.   #     n : 文字色编号 (0~7)
  77.   #--------------------------------------------------------------------------
  78.   def self.text_color(n)
  79.     case n
  80.     when 0
  81.       return Color.new(255, 255, 255, 255)
  82.     when 1
  83.       return Color.new(128, 128, 255, 255)
  84.     when 2
  85.       return Color.new(255, 128, 128, 255)
  86.     when 3
  87.       return Color.new(128, 255, 128, 255)
  88.     when 4
  89.       return Color.new(128, 255, 255, 255)
  90.     when 5
  91.       return Color.new(255, 128, 255, 255)
  92.     when 6
  93.       return Color.new(255, 255, 128, 255)
  94.     when 7
  95.       return Color.new(192, 192, 192, 255)
  96.     else
  97.       normal_color
  98.     end
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 获取普通文字色
  102.   #--------------------------------------------------------------------------
  103.   def self.normal_color
  104.     return Color.new(255, 255, 255, 255)
  105.   end
  106. end

作者: cinderelmini    时间: 2016-12-3 13:50
本帖最后由 cinderelmini 于 2016-12-3 13:54 编辑

唔、、除了代码框第二行说的在Main放个 Mess_Text.ini 之外,
大概还需要在Scene_Base的update里面再加一行
  1. Mess_Text.update
复制代码
然后在想要绘制文字的时候:
  1. Mess_Text.write("文本行1")
  2. Mess_Text.write("文本行2")
  3. Mess_Text.write("文本行3")
  4. ...
复制代码
这样执行。
PS:显示之后的文本会淡出但文本记录不会自己消除,下次调用 Mess_Text.write 的时候会往下一行加,
如果要清除之前显示的内容的话,在显示之前使用 Mess_Text.clear 清除一下记录。
PPAP:代码框21行和22行的格式→_→。。




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