Project1

标题: 关于战斗中鼠标选择敌人的问题 [打印本页]

作者: jiahui5592986    时间: 2014-2-3 16:38
标题: 关于战斗中鼠标选择敌人的问题
本帖最后由 jiahui5592986 于 2014-2-3 17:04 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Arrow_Enemy
  3. #------------------------------------------------------------------------------
  4. #  选择敌人的箭头光标。本类继承 Arrow_Base
  5. # 类。
  6. #==============================================================================
  7.  
  8. class Arrow_Enemy < Arrow_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 获取光标指向的敌人
  11.   #--------------------------------------------------------------------------
  12.   def enemy
  13.     return $game_troop.enemies[@index]
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 刷新画面
  17.   #--------------------------------------------------------------------------
  18.   def update
  19.     super
  20.     # 如果指向不存在的敌人就离开
  21.     $game_troop.enemies.size.times do
  22.       break if self.enemy.exist?
  23.       [url=home.php?mod=space&uid=370741]@Index[/url] += 1
  24.       [url=home.php?mod=space&uid=370741]@Index[/url] %= $game_troop.enemies.size
  25.     end
  26.     #
  27.     if Input.repeat?(Input::RIGHT)
  28.       $game_system.se_play($data_system.cursor_se)
  29.       $game_troop.enemies.size.times do
  30.         @index += 1
  31.         @index %= $game_troop.enemies.size
  32.         break if self.enemy.exist?
  33.       end
  34.     end
  35.     # 光标左
  36.     if Input.repeat?(Input::LEFT)
  37.       $game_system.se_play($data_system.cursor_se)
  38.       $game_troop.enemies.size.times do
  39.         @index += $game_troop.enemies.size - 1
  40.         @index %= $game_troop.enemies.size
  41.         break if self.enemy.exist?
  42.       end
  43.     end
  44.     # 设置活动块坐标
  45.     if self.enemy != nil
  46.       self.x = self.enemy.screen_x
  47.       self.y = self.enemy.screen_y
  48.     end
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 刷新帮助文本
  52.   #--------------------------------------------------------------------------
  53.   def update_help
  54.     # 帮助窗口显示敌人的名字与状态
  55.     @help_window.set_enemy(self.enemy)
  56.   end
  57. end


用API鼠标判定的话怎么写?(鼠标选中敌人) @芯☆淡茹水  
作者: 恐惧剑刃    时间: 2014-2-3 18:47
用的是坐标吧

使用get_mouse_pos方法获取鼠标当前的坐标
鼠标选中战斗图就是鼠标指针在战斗图内,根据战斗图坐标范围给个范围触发就好(鼠标响应图片原理)

至于敌方坐标在$data_troops中就有
members (敌方)队伍成员(RPG::Troop::Member的数组)
举例 $data_troops[1].members[0].x  第一个队伍(数据库中第一个队伍)中的中第一个敌人的X坐标

根据 $data_enemies[敌方单位id].battler_name 取得“战斗图”
此战斗图的宽度、高度 “.width” “.height” 即可






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