查看: 16578|回复: 10

[RMVA发布] [PS0]读书读报系统(2012.02.24)

[复制链接]

醉啸 长风万里

梦石
0
星屑
6512
在线时间
6616 小时
注册时间
2007-12-16
回帖
4301

贵宾

发表于 2012-2-5 11:05:13 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 仲秋启明 于 2012-2-24 20:56 编辑

VA的“显示滚动文字”是个新东西,用这个就可以直接改为读书读报系统
此读书读报系统和XP的不一样

[pre lang="ruby" line="1"]#==============================================================================
# [PS0]读书读报系统
#      Reading_System
#==============================================================================
# [更新记录]
#    - 2011.12.27 By 仲秋启明
#      * 编写开始,遵循PS0协议;
#      * 设定开关以控制
#    - 2012.02.24 By feizhaodan
#      * 修正没法翻页和显示问题
#------------------------------------------------------------------------------
# [使用方法]
#    - 替换原Window_ScrollText或复制到Main之前
#    - 打开Reading_System_Switch定义的开关
#==============================================================================
$_PS0 = {} if $_PS0 == nil  
$_PS0["Reading_System"] = 20120205
#==============================================================================
# [PS0] 通用配置模块  
#==============================================================================
module PS0
  module Reading_System
    Reading_System_Switch = 50
  end
end
#==============================================================================
# ■ Window_ScrollText
#------------------------------------------------------------------------------
#  显示滚动文字的窗口。
#   这类窗口没有边框,归类为窗口只是为了方便。
#   窗口打开时角色不能移动。
#==============================================================================

class Window_ScrollText < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, Graphics.width, Graphics.height)
    self.opacity = 0
    self.arrows_visible = false
    hide
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    super
    if $game_switches[PS0::Reading_System::Reading_System_Switch] != true
      if $game_message.scroll_mode
        self.opacity = 0
        update_message if @text
        start_message if !@text && $game_message.has_text?
      end
    else
      self.opacity = 200
      if Input.trigger?(:B) or Input.trigger?(:C)
        terminate_message
      elsif Input.trigger?(:DOWN) or Input.trigger?(:RIGHT)
        self.oy += 512 if self.oy + 512 < contents.height
        self.oy = [self.oy,contents.height].min
      elsif Input.trigger?(:UP) or Input.trigger?(:LEFT)
        self.oy -= 512
        self.oy = [self.oy,0].max
      end
      if $game_message.scroll_mode
        start_message if !@text && $game_message.has_text?
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 开始信息的显示
  #--------------------------------------------------------------------------
  def start_message
    @text = $game_message.all_text
    refresh
    show
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    reset_font_settings
    update_all_text_height
    create_contents
    draw_text_ex(4, 0, @text)
    if $game_switches[PS0::Reading_System::Reading_System_Switch] != true
      self.oy = @scroll_pos = -height
    end
  end
  #--------------------------------------------------------------------------
  # ● 更新绘制所有内容所需的高度
  #--------------------------------------------------------------------------
  def update_all_text_height
    @all_text_height = 1
    convert_escape_characters(@text).each_line do |line|
      @all_text_height += calc_line_height(line, false)
    end
    reset_font_settings
  end
  #--------------------------------------------------------------------------
  # ● 计算窗口内容的高度
  #--------------------------------------------------------------------------
  def contents_height
    @all_text_height ? @all_text_height : super
  end
  #--------------------------------------------------------------------------
  # ● 更新信息
  #--------------------------------------------------------------------------
  def update_message
    if $game_switches[PS0::Reading_System::Reading_System_Switch] != true
    @scroll_pos += scroll_speed
    self.oy = @scroll_pos
    terminate_message if @scroll_pos >= contents.height
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取滚动速度
  #--------------------------------------------------------------------------
  def scroll_speed
    $game_message.scroll_speed * (show_fast? ? 1.0 : 0.5)
  end
  #--------------------------------------------------------------------------
  # ● 快进判定
  #--------------------------------------------------------------------------
  def show_fast?
    !$game_message.scroll_no_fast && (Input.press?(:A) || Input.press?(:C))
  end
  #--------------------------------------------------------------------------
  # ● 结束信息的显示
  #--------------------------------------------------------------------------
  def terminate_message
    @text = nil
    $game_message.clear
    hide
  end
end

[/pre]
效果:
text.jpg

与XP版的区别
2.jpg
直接上图

评分

参与人数 1星屑 +1000 收起 理由
退屈£无聊 + 1000

查看全部评分


还在龟速填坑中
梦石
0
星屑
50
在线时间
27 小时
注册时间
2011-4-24
回帖
55
发表于 2012-2-5 18:45:18 | 显示全部楼层
好东西哟,不过要是界面能够再华丽点,然后支持用PgUP PgDn 或者 ← →键来控制就好了
回复

使用道具 举报

砂上描绘的愿想<

梦石
15
星屑
4156
在线时间
5078 小时
注册时间
2012-1-15
回帖
4362

开拓者贵宾短篇七成年组亚军剧作品鉴家

发表于 2012-2-22 21:09:43 | 显示全部楼层
本帖最后由 迷糊的安安 于 2012-2-22 21:10 编辑

报告两个BUG
1、文字比较长的时候没法翻页。
2、将50开关打开,启用读报系统,显示滚动文字以后,将开关关闭,再显示滚动文字,依然带有框。此后若再打开开关,则什么都显示不出来。
@仲秋启明

评分

参与人数 1星屑 +12 收起 理由
仲秋启明 + 12 感谢报告BUG

查看全部评分

无明病目虚空见花月 睁眼梦不绝
回复

使用道具 举报

醉啸 长风万里

梦石
0
星屑
6512
在线时间
6616 小时
注册时间
2007-12-16
回帖
4301

贵宾

 楼主| 发表于 2012-2-22 21:38:23 | 显示全部楼层
迷糊的安安 发表于 2012-2-22 21:09
报告两个BUG
1、文字比较长的时候没法翻页。
2、将50开关打开,启用读报系统,显示滚动文字以后,将开关关 ...

1.这个……手动翻页我还要试一下
2.这个我没遇到过,我只遇到过滚动文字有时显示不全

还在龟速填坑中
回复

使用道具 举报

砂上描绘的愿想<

梦石
15
星屑
4156
在线时间
5078 小时
注册时间
2012-1-15
回帖
4362

开拓者贵宾短篇七成年组亚军剧作品鉴家

发表于 2012-2-23 02:11:23 | 显示全部楼层
本帖最后由 迷糊的安安 于 2012-2-23 02:12 编辑
仲秋启明 发表于 2012-2-22 21:38
1.这个……手动翻页我还要试一下
2.这个我没遇到过,我只遇到过滚动文字有时显示不全 ...


是这样的 我详细地说明一下吧

按照这样的流程走
1、显示第一段滚动文字。
2、打开开关50,显示第二段滚动文字。
3、关闭开关50,显示第三段滚动文字。
4、打开开关50,显示第四段滚动文字。

若如此做,则:
第一段:正常滚动文字。
第二段:带底框的读报文字。
第三段:带底框的滚动文字。
第四段:只显示框,什么字也显示不出来。

第三段和第四段明显是不正常的……

@仲秋启明
无明病目虚空见花月 睁眼梦不绝
回复

使用道具 举报

(?????)

梦石
0
星屑
872
在线时间
1327 小时
注册时间
2011-7-18
回帖
3036

贵宾

发表于 2012-2-23 04:19:46 | 显示全部楼层
与其对原来的滚动文字下手……不如直接对事件解释器下手,
把文字截出来。然后自己写窗口,这样也不会导致奇怪的BUG。
回复

使用道具 举报

梦石
0
星屑
432
在线时间
4175 小时
注册时间
2010-6-26
回帖
6276
发表于 2012-2-24 11:33:39 | 显示全部楼层
凌依约 发表于 2012-2-5 18:45
好东西哟,不过要是界面能够再华丽点,然后支持用PgUP PgDn 或者 ← →键来控制就好了 ...

很悲剧!我还以为是Xp的读取txt脚本移植过来了呢.
潜水,专心忙活三次元工作了……
回复

使用道具 举报

醉啸 长风万里

梦石
0
星屑
6512
在线时间
6616 小时
注册时间
2007-12-16
回帖
4301

贵宾

 楼主| 发表于 2012-2-24 20:56:22 | 显示全部楼层
迷糊的安安 发表于 2012-2-22 21:09
报告两个BUG
1、文字比较长的时候没法翻页。
2、将50开关打开,启用读报系统,显示滚动文字以后,将开关关 ...

BUG已由FZD君修复

点评

对  发表于 2012-2-25 08:33
那顶楼那个是否已修复的?  发表于 2012-2-24 22:49

还在龟速填坑中
回复

使用道具 举报

梦石
0
星屑
308
在线时间
136 小时
注册时间
2012-3-2
回帖
69
发表于 2012-3-5 14:46:31 | 显示全部楼层
读书读报系统是不是不需要使用事件来进行?
要是很长的文字显示应该没有什么缺少吧
因为是新人,所以不太懂。。。不好意思

点评

谁用谁知道…… 分页系统还是有点缺陷的 每页最下面两行字显示不出……  发表于 2012-3-5 16:05
回复

使用道具 举报

砂上描绘的愿想<

梦石
15
星屑
4156
在线时间
5078 小时
注册时间
2012-1-15
回帖
4362

开拓者贵宾短篇七成年组亚军剧作品鉴家

发表于 2012-3-9 21:41:32 | 显示全部楼层
本帖最后由 迷糊的安安 于 2012-3-9 21:42 编辑

yys1.jpg

yys2.jpg

yys3.jpg

翻页存在一些问题。
@feizhaodan
@仲秋启明
无明病目虚空见花月 睁眼梦不绝
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部