Project1

标题: 如何判断鼠标获取光标? [打印本页]

作者: 果冻叮当猫    时间: 2008-9-21 04:58
标题: 如何判断鼠标获取光标?
需要用何种方式来判断鼠标指向某个光标?(也就是说在其他脚本里面判断是否是鼠标出发光标) [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 灯笼菜刀王    时间: 2008-9-21 05:57
嘛,最简单也是最笨的思路就是不停的判断鼠标的坐标和光标的坐标,当它们重合的时候就....

...不过光标肯定是有个范围,所以可以在鼠标上多个大于小于判断等加大范围就OK了~~~~


嘛,以上的方法建议楼主在走投无路的情况下考虑-。-~  因为可能会消耗大量的FPS....

对鼠标系统无爱,纯粹是看着空白帖子不爽的人飘过.....
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 果冻叮当猫    时间: 2008-9-21 06:12
以下引用灯笼菜刀王于2008-9-20 21:57:55的发言:

嘛,最简单也是最笨的思路就是不停的判断鼠标的坐标和光标的坐标,当它们重合的时候就....

...不过光标肯定是有个范围,所以可以在鼠标上多个大于小于判断等加大范围就OK了~~~~


嘛,以上的方法建议楼主在走投无路的情况下考虑-。-~  因为可能会消耗大量的FPS....

对鼠标系统无爱,纯粹是看着空白帖子不爽的人飘过.....

这个我试过了!的确是卡得要死!有没有更加简单的方法呢?特别急需!
作者: dbshy    时间: 2008-9-21 22:34
其实我想说我没看懂 = =

希望LZ说清楚一点,可能是我理解能力不行
作者: 小无    时间: 2008-9-21 23:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: 司马睿风    时间: 2008-9-21 23:29
去站上找下鼠标系统
作者: 穗草芽    时间: 2008-9-21 23:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: 果冻叮当猫    时间: 2008-9-22 05:19
以下引用穗草芽于2008-9-21 15:58:59的发言:


以下引用果冻叮当猫于2008-9-20 22:12:42的发言:


以下引用灯笼菜刀王于2008-9-20 21:57:55的发言:

嘛,最简单也是最笨的思路就是不停的判断鼠标的坐标和光标的坐标,当它们重合的时候就....

...不过光标肯定是有个范围,所以可以在鼠标上多个大于小于判断等加大范围就OK了~~~~


嘛,以上的方法建议楼主在走投无路的情况下考虑-。-~  因为可能会消耗大量的FPS....

对鼠标系统无爱,纯粹是看着空白帖子不爽的人飘过.....


这个我试过了!的确是卡得要死!有没有更加简单的方法呢?特别急需!



恩恩!不过尽量不使用事件显示图片和公共事件就行了,

我以前用事件作标题!用鼠标很卡!

但用脚本来弄就很好了!

想破头脑了!还是搞不好!~郁闷死!

作者: 果冻叮当猫    时间: 2008-9-23 06:36
自己终于研究出来了!
以下属于个人的方法!给大家看一下吧

  def update_select
      if Input.trigger?(Input::B)
         $game_system.se_play($data_system.cancel_se)
         @sprite_select.active = false
         @sprite_select.index = -1         
         @sprite_equip.active = true
         wds_refresh([2])        
         return
      end  
      if Input.repeat?(Input::UP) or Input.repeat?(Input::DOWN) or Input.repeat?(Input::LEFT) or Input.repeat?(Input::RIGHT) or $index_change != @sprite_select.index
         wds_refresh([3])
  ####################################
  $index_change = @sprite_select.index
  ####################################
         return
      end
      if Input.trigger?(Input::C)
         if @sprite_select.sprite.nil?
            $game_system.se_play($data_system.buzzer_se)
            return
         end
         $game_system.se_play($data_system.equip_se)
         actor = $game_party.actors[@sprite_status.index]
         actor.equip_moveto_house(@sprite_equip.index) unless @sprite_equip.sprite.nil?
         actor.house_moveto_equip(@sprite_equip.index, @sprite_select.index)         
         @sprite_select.active = false
         @sprite_select.index = -1         
         @sprite_equip.active = true
         wds_refresh([0,1,4,5,6])         
         return
      end        
  end
  
  #光标判断
  ####################################
  $index_change = 0
  ####################################
  def update_equip
      if Input.trigger?(Input::B)
         $game_system.se_play($data_system.cancel_se)
         @sprite_status.active = true
         @sprite_equip.active = false
         @sprite_equip.index = -1
         return
      end
      if Input.trigger?(Input::L)
         if @sprite_equip.sprite.nil?
            $game_system.se_play($data_system.buzzer_se)
            return
         end        
         $game_system.se_play($data_system.equip_se)
         @sprite_equip.equip_change
         wds_refresh([1,4,5,6,7])         
         return
      end      
      if Input.trigger?(Input::C)
         $game_system.se_play($data_system.decision_se)        
         @sprite_select.active = true
         @sprite_select.index = 0
  ####################################
  $index_change = @sprite_select.index
  ####################################
         @sprite_equip.active = false
         wds_refresh([3])                    
         return
      end      
  end

只要光标改变就刷新!
作者: 穗草芽    时间: 2008-10-10 20:52
提示: 作者被禁止或删除 内容自动屏蔽




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