设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1960|回复: 5
打印 上一主题 下一主题

[已经解决] 选项窗口,如何判断选中项变化?

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2011-3-28 18:36:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,选中项的变化怎么判断?就是光标移位。。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
2
发表于 2011-3-28 18:55:38 | 只看该作者
本帖最后由 Rion幻音 于 2011-3-28 18:57 编辑

看看默认脚本里的Window_Selectable或者Window_Command就有了吧?
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

3
 楼主| 发表于 2011-3-28 19:18:55 | 只看该作者
回复 Rion幻音 的帖子

有啊,就是@index嘛,可是怎么判断它变化??
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
4
发表于 2011-3-29 13:40:44 | 只看该作者
回复 冰舞蝶恋 的帖子

可以找看Window_MenuStatus里的更新光标看一看

点评

默认脚本是个好东西~~  发表于 2011-3-29 13:41
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1195
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

5
发表于 2011-3-30 22:46:39 | 只看该作者
本帖最后由 DeathKing 于 2011-3-30 22:50 编辑

将 Window_Selectable 提供的下面方法认为是“事件”(VB6的事件驱动思想)
      ※ cursor_down
      ※ cursor_up
      ※ cursor_right
      ※ cursor_left
      ※ cursor_pagedown
      ※ cursor_pageup
上述的事件都会引起 @index 的变动。如果有特殊需要的话,可对这些方法进行处理,以响应最初目的。

譬如:

  1. class Window_Selectable
  2.   alias new_cursor_down cursor_down
  3.   def cursor_down(wrap = false)
  4.     new_cursor_down(wrap)
  5.     p "DK now is requiring loli~"
  6.   end
  7. end
复制代码
将其用于默认脚本,运行尝试效果,很有趣~

当然,通过 refresh 方法判定 @index 的值不失为一种妙法。

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
铃仙·优昙华院·因幡 + 200 + 2 认可答案

查看全部评分


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

6
 楼主| 发表于 2011-3-31 13:39:32 | 只看该作者
回复 DeathKing 的帖子

呃 谢谢前辈
咱找到了四个def!
感谢……!


冰舞蝶恋于2011-3-31 13:41补充以下内容:
  #--------------------------------------------------------------------------
  # ● 光标下移
  #     wrap : 允许循环
  #--------------------------------------------------------------------------
  def cursor_down(wrap = false)
    if (@index < @item_max - @column_max) or (wrap and @column_max == 1)
      @index = (@index + @column_max) % @item_max
    end
  end
  #--------------------------------------------------------------------------
  # ● 光标上移
  #     wrap : 允许循环
  #--------------------------------------------------------------------------
  def cursor_up(wrap = false)
    if (@index >= @column_max) or (wrap and @column_max == 1)
      @index = (@index - @column_max + @item_max) % @item_max
    end
  end
  #--------------------------------------------------------------------------
  # ● 光标右移
  #     wrap : 允许循环
  #--------------------------------------------------------------------------
  def cursor_right(wrap = false)
    if (@column_max >= 2) and
       (@index < @item_max - 1 or (wrap and page_row_max == 1))
      @index = (@index + 1) % @item_max
    end
  end
  #--------------------------------------------------------------------------
  # ● 光标左移
  #     wrap : 允许循环
  #--------------------------------------------------------------------------
  def cursor_left(wrap = false)
    if (@column_max >= 2) and
       (@index > 0 or (wrap and page_row_max == 1))
      @index = (@index - 1 + @item_max) % @item_max
    end
  end
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-26 00:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表