查看: 2252|回复: 4

[已经过期] 鼠标点击敌人自动攻击

[复制链接]
梦石
0
星屑
50
在线时间
27 小时
注册时间
2015-2-22
回帖
11
发表于 2015-5-1 16:27:01 | 显示全部楼层 |阅读模式

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

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

×
这个一直是我解不开的迷,之前写过但是失败了,所以特来此向各位大神请教
梦石
0
星屑
34462
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2015-5-1 19:56:40 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2015-5-1 20:26 编辑

一个大体的思路:
  1. ##以一般的鼠标脚本为例:

  2. #定义一个获取鼠标指向的敌人的方法。
  3. def get_enemy
  4.   #获取当前鼠标指向的坐标。
  5.   x, y = Mouse.get_mouse_pos
  6.   #循环敌人队伍。
  7.   for enemy in $game_troop.enemies
  8.     #跳过不存在的敌人。
  9.     next unless enemy.exist?
  10.     #获取敌人战斗位图。
  11.     bitmap = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue)
  12.     #判断鼠标是否在敌人的战斗图片内。
  13.     width = bitmap.width / 2
  14.     height = bitmap.height
  15.     if x > enemy.screen_x - width and x < enemy.screen_x + width and
  16.      y > enemy.screen_y - height and y < enemy.screen_y
  17.       #判断当前鼠标指向的图片点是否透明。
  18.       b_x = x - enemy.screen_x + width
  19.       b_y = y - enemy.screen_y + height
  20.       #如果指向的图片点不透明,返回该 enemy 。
  21.       if bitmap.get_pixel(b_x, b_y).alpha > 0
  22.         return enemy
  23.       end
  24.     end
  25.   end
  26.   # 返回 nil 。
  27.   return nil
  28. end
复制代码
在战斗中选择行动时,点击鼠标左键时,就这样判断是否指向敌人。
如果不是 nil ,那么该角色的行动是普通攻击,攻击对象就是上面获取的 enemy 。
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
50
在线时间
27 小时
注册时间
2015-2-22
回帖
11
 楼主| 发表于 2015-5-3 12:22:13 | 显示全部楼层
这个应该放在那里
回复

使用道具 举报

梦石
0
星屑
34462
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2015-5-3 13:21:32 | 显示全部楼层
这个只是一个获取敌人的思路,具体做的时候可以放 战斗场景 里,也可以放鼠标脚本里,那就看你自己的意愿。
当然放的地方不同,写法也不一样。
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
50
在线时间
27 小时
注册时间
2015-2-22
回帖
11
 楼主| 发表于 2015-6-3 13:40:27 | 显示全部楼层
那如何制作全动画点击敌人呢?给个范例?
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部