查看: 1372|回复: 1

[已经过期] 关于战斗中鼠标选择敌人的问题

[复制链接]
梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
回帖
317
发表于 2014-2-3 16:38:59 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 jiahui5592986 于 2014-2-3 17:04 编辑

[pre lang="ruby" line="1"]#==============================================================================
# ■ Arrow_Enemy
#------------------------------------------------------------------------------
#  选择敌人的箭头光标。本类继承 Arrow_Base
# 类。
#==============================================================================

class Arrow_Enemy < Arrow_Base
  #--------------------------------------------------------------------------
  # ● 获取光标指向的敌人
  #--------------------------------------------------------------------------
  def enemy
    return $game_troop.enemies[@index]
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    super
    # 如果指向不存在的敌人就离开
    $game_troop.enemies.size.times do
      break if self.enemy.exist?
      @Index += 1
      @Index %= $game_troop.enemies.size
    end
    #
    if Input.repeat?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      $game_troop.enemies.size.times do
        @index += 1
        @index %= $game_troop.enemies.size
        break if self.enemy.exist?
      end
    end
    # 光标左
    if Input.repeat?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      $game_troop.enemies.size.times do
        @index += $game_troop.enemies.size - 1
        @index %= $game_troop.enemies.size
        break if self.enemy.exist?
      end
    end
    # 设置活动块坐标
    if self.enemy != nil
      self.x = self.enemy.screen_x
      self.y = self.enemy.screen_y
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    # 帮助窗口显示敌人的名字与状态
    @help_window.set_enemy(self.enemy)
  end
end[/pre]

用API鼠标判定的话怎么写?(鼠标选中敌人) @芯☆淡茹水  

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
回帖
1223
发表于 2014-2-3 18:47:57 | 显示全部楼层
用的是坐标吧

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

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

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

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部