Project1

标题: 如何去除屏幕上的图片光标 [打印本页]

作者: 希德    时间: 2011-4-17 13:33
标题: 如何去除屏幕上的图片光标
本帖最后由 希德 于 2011-4-17 13:43 编辑



如上图所见,我用了横板战斗并改造了xp样式的战斗状态栏
随后又增加了了一个图片光标

显示和运动都没有问题.唯一的问题是,逃跑文字出现时无法消除这个光标
请问,有什么办法能消除它.而不影响它的正常功能
应该修改哪里?

  1. class Window_SelectableNew < Window_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 定义实例变量
  4.   #--------------------------------------------------------------------------
  5.   attr_reader   :item_max                 # 选项数
  6.   attr_reader   :column_max               # 行数
  7.   attr_reader   :index                    # 光标位置
  8.   attr_reader   :help_window              # 帮助窗口
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对像
  11.   #     x      : 窗口 X 座标
  12.   #     y      : 窗口 Y 座标
  13.   #     width  : 窗口宽度
  14.   #     height : 窗口高度
  15.   #     spacing : 横向排列时栏间空格
  16.   #--------------------------------------------------------------------------
  17.   def initialize(x, y, width, height, spacing = 32)
  18.     @item_max = 1
  19.     @column_max = 1
  20.     @index = -1
  21.     @spacing = spacing
  22.     super(x, y, width, height)
  23.    
  24.     @sp_rect = Sprite.new
  25.     @sp_rect.bitmap = Bitmap.new("graphics/system/lightsel.png")
  26.     @sp_rect.x = self.x
  27.     @sp_rect.y = self.y
  28.     @sp_rect.z = self.z + 1

  29.     self.contents = Bitmap.new(width - 32, height - 32)
  30.     refresh
  31.     self.active = false
  32.     self.index = -1

  33.   end
  34. #--------------------------------------------------------------------------
  35.   # ● 更新光标
  36.   #--------------------------------------------------------------------------
  37.   def update_cursor
  38.     if @index < 0                   # 当光标位置小于0
  39.       @sp_rect.opacity  = 0
  40.     else                           # 当光标位置为0或大于
  41.       @sp_rect.opacity  = 255
  42.       @sp_rect.x = self.x + @index * 155 +10
  43.       @sp_rect.y = self.y + 250
  44.     end
  45.   end

  46.   def dispose
  47.     super
  48.     @sp_rect.dispose
  49.   end
  50. end


复制代码
dsu_plus_rewardpost_czw
作者: summer92    时间: 2011-4-17 16:47
在更新中 判断 ,你应该知道那个窗口是@help_window  所以就是

if @help_window.acitve   #如果帮助窗口激活  ,有这个属性
@sp_rect.opacity  = 0 #光标透明度=0
end

如果要另外情况下光标和帮助窗口同时显示的话,请自行区分并改造




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