查看: 3366|回复: 4

[已经过期] 怎么样让制作的选项拥有翻页效果(已经过期)

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-9-23 13:07:22 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 yang1zhi 于 2016-9-24 13:54 编辑

只是翻页的话,还是有方法制作。
不过我是想要默认的那种翻页效果。
就是窗口下面还有内容,会显示个三角形,按下去会向上滚动。
按上会向上滚动。

有人说用OY加减。可是这样移上去后,下面的内容并没有显示出来。而且按上的时候OY会回零。



算了,不要了。发现我写的伪的效果已经看不出是伪的了。
梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2016-9-23 14:47:30 | 显示全部楼层
是要类似windows的滚动条吗?

点评

我现在做了个伪的,就是每动一下就刷新窗口重新排  发表于 2016-9-23 19:01
类似是类似,不过一个是键盘,一个是鼠标的。  发表于 2016-9-23 19:00
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
发表于 2016-9-23 15:14:45 | 显示全部楼层
本帖最后由 cmmd1 于 2016-9-23 15:17 编辑

[pre lang="ruby"]#==============================================================================
# ■ 多选项脚本
#------------------------------------------------------------------------------
#    v 1.0 by enghao_lim
#    理论性无限突破四个选项的脚本
#------------------------------------------------------------------------------
#
# 使用方法:
#
#  1. 在事件里使用【脚本】:多选项(选项数组,取消时执行的选项)
#     
#         选项数组例子:@c = ["选项一","选项二"..."选项100"]
#         所有选项必须是文字,即被 "" 符包括。
#        
#         取消时执行的选项:代表 ESC (也就是B键) 按下时执行的选项
#         不填写 或 为0 时,代表选项不可被取消。
#         此值不可大过选项的数量,否者会出错。
#        
#  2. 使用条件分歧:选项场合(选项编号)来执行选中选项后执行的事件。
#     具体请看范例。
#
#  3. for 脚本党:
#     获取 被选中的选项 的 index :$game_temp.choice_result
#        
#  4. 范例里已经有各种 多选项 的利用方法,自个儿都觉得多选项也挺好用的。
#  
#  5. 如有神马 bug ,请通知我,谢谢,感谢阅读。
#
#==============================================================================

#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
#  临时资料记录器。
#==============================================================================
class Game_Temp
  #--------------------------------------------------------------------------
  # ● 读写器
  #--------------------------------------------------------------------------
  attr_accessor :choice_result
  attr_accessor :choice_last
  #--------------------------------------------------------------------------
  # ● 初始化
  #--------------------------------------------------------------------------
  alias initialize0 initialize
  def initialize
    initialize0
    @choice_result = -1
    @choice_last = -1
  end
end

#==============================================================================
# ■ Interpreter
#------------------------------------------------------------------------------
#  事件处理器。
#==============================================================================
class Interpreter
  #--------------------------------------------------------------------------
  # ● 多选项
  #--------------------------------------------------------------------------
  def 多选项(选项, 取消 = 0)
    取消 = 取消 == "取消" ? 选项.size + 1 : 取消
    MultiChoice(选项,取消)
  end
  #--------------------------------------------------------------------------
  # ● 获取选择的选项
  #--------------------------------------------------------------------------
  def 选项场合(n)
    if n == "取消"
      return ($game_temp.choice_last + 1) == $game_temp.choice_result
    end
    return $game_temp.choice_result == (n - 1)
  end
  #--------------------------------------------------------------------------
  # ● 多选项执行
  #--------------------------------------------------------------------------
  def MultiChoice(choice,cancel = 4)
    # 设置信息结束后待机和返回调用标志
    @message_waiting = true
    $game_temp.message_proc = Proc.new { @message_waiting = false }
    # 设置选项设置
    $game_temp.choice_max = choice.size
    $game_temp.choice_last = choice.size - 1
    $game_temp.choice_cancel_type = cancel
    $game_temp.choice_start = 0
    $game_temp.message_text = ""
    $game_temp.choice_proc = Proc.new { |n| $game_temp.choice_result = n }
    # 设置选择选项
    for c in choice
      $game_temp.message_text += c + "\n"
    end
  end
end

#==============================================================================
# ■ Window_Message
#------------------------------------------------------------------------------
#  对话框。
#==============================================================================
class Window_Message
  #--------------------------------------------------------------------------
  # ● 重置窗口
  #--------------------------------------------------------------------------
  alias reset_window_0 reset_window
  def reset_window
    # 默认重置法
    reset_window_0
    # 还原 ox 和 oy
    self.ox = self.oy = 0
    # 重新生成 bitmap
    if $game_temp.choice_max > 4
      self.contents.dispose
      self.contents = Bitmap.new(self.width-32,$game_temp.choice_max*32)
    else
      self.contents.dispose
      self.contents = Bitmap.new(self.width-32,self.height-32)
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新光标矩形
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index >= 0
      if $game_temp.choice_start == 0
        super
        rect = self.cursor_rect
        self.cursor_rect.set(8,rect.y,@cursor_width,rect.height)
      else
        n = $game_temp.choice_start + @index
        self.cursor_rect.set(8, n * 32, @cursor_width, 32)
      end
    else
      self.cursor_rect.empty
    end
  end
end
[/pre]

QQ图片20160923151907.png QQ图片20160923151851.png
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部