Project1

标题: 求教~~关于对话框选择光标的问题~~ [打印本页]

作者: 灯笼菜刀王    时间: 2008-7-17 21:33
标题: 求教~~关于对话框选择光标的问题~~


如图...

我把原来的光标矩形换成别的光标,结果,原来可以判断选择项位置从而决定Y坐标的起始变成了这样- -,y坐标直接从0开始,

如果选择项前不带句子,那正常选择,如果前面带着句子而下面是选择项,就像上图,光标直接从句子开始....

研究原来的光标矩形,也没什么特别的地方- -,为什么换成别的光标就有这样的问题了....

附,自己添加的光标脚本
  1. def update_cursor_rect
  2.     # 光标位置不满 0 的情况下
  3.     if @index < 0 or self.active == false     #自己没激活               
  4.       @cr.visible = false              # 使光标不可见(默认设置)
  5.      return
  6.    end
  7.    @cr.visible = true if self.visible && self.active   
  8.    @cr.opacitysz(1) if @cr.opacity < 255   
  9.    # 计算光标的宽度
  10.    cursor_width = self.width / @column_max - 32
  11.    # 计算光标坐标
  12.    n = $game_temp.choice_start + @index
  13.    x = (self.x + 8) + @index % @column_max * (cursor_width + 32)
  14.    #y = (self.y + 25) + @index / @column_max * 32 - self.oy
  15.    y = n * 32        
  16.    # 更新光标位置
  17.    @cr.x = x                                                      
  18.    @cr.y = y                                                     
  19. end
复制代码


上面y打#号部分是脚本的,下面的 y = n*32是原来的光标算法,不过,效果一样。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: hitlerson    时间: 2008-7-18 00:51
y = n * 32   

改下如 y = n * 32 + 16

改下Y的高度
作者: 灯笼菜刀王    时间: 2008-7-18 04:09
以下引用hitlerson于2008-7-17 16:51:21的发言:

y = n * 32   

改下如 y = n * 32 + 16

改下Y的高度


那个,不能单纯的改高度,因为如果选择项前面没有句子,也就是直接选择的话,那光标就变偏下了。
原来的矩形如何实现的呢?不管前面有一行还是两行句子,选择项的光标都紧贴选择句子。
作者: dbshy    时间: 2008-7-19 01:02
该Y坐标
你所说的问题家个IF即可

关于原来的是根据INDEX来判断 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 灯笼菜刀王    时间: 2008-7-19 01:09
明白了,根据index大于3大于2判断Y坐标开始位置。- -原来这么简单~~~




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