设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

纯事件双人打怪

查看数: 4117 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-7-26 19:02

正文摘要:

玩家一WSAD移动   Q攻击 玩家二上下左右     0攻击 玩家1是近程  玩家2是远程(距离限制四格) 有那些错误的或者要改的地方帮忙看看,我想弄双人游戏。 ...

回复

九尾的百合伞 发表于 2017-7-26 20:52:18
张咚咚 发表于 2017-7-26 20:07
插入到main前面,在事件的移动路线里写上 move_toward_event(要接近的事件ID)

知道了,谢谢
张咚咚 发表于 2017-7-26 20:07:48

插入到main前面,在事件的移动路线里写上 move_toward_event(要接近的事件ID)


RUBY 代码复制
  1. class Game_Character
  2.   #--------------------------------------------------------------------------
  3.   # ● 接近事件(ID)
  4.   #--------------------------------------------------------------------------
  5.   def move_toward_event(id)
  6.     # 求得与主角的坐标差
  7.     sx = @x - $game_map.events[id].x
  8.     sy = @y - $game_map.events[id].y
  9.     # 坐标相等情况下
  10.     if sx == 0 and sy == 0
  11.       return
  12.     end
  13.     # 求得差的绝对值
  14.     abs_sx = sx.abs
  15.     abs_sy = sy.abs
  16.     # 横距离与纵距离相等的情况下
  17.     if abs_sx == abs_sy
  18.       # 随机将边数增加 1
  19.       rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
  20.     end
  21.     # 横侧距离长的情况下
  22.     if abs_sx > abs_sy
  23.       # 左右方向优先。向主角移动
  24.       sx > 0 ? move_left : move_right
  25.       if not moving? and sy != 0
  26.         sy > 0 ? move_up : move_down
  27.       end
  28.     # 竖侧距离长的情况下
  29.     else
  30.       # 上下方向优先。向主角移动
  31.       sy > 0 ? move_up : move_down
  32.       if not moving? and sx != 0
  33.         sx > 0 ? move_left : move_right
  34.       end
  35.     end
  36.   end
  37. end
鑫晴 发表于 2017-7-26 20:04:36


九尾的百合伞 发表于 2017-7-26 19:13:14
怎么弄事件自动接近事件啊?
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-7 19:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表