查看: 1820|回复: 2

[已经解决] 怎么判断事件正在往左走还是往右走?

[复制链接]
梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
回帖
384
发表于 2014-11-22 21:30:44 | 显示全部楼层 |阅读模式

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

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

×
如果角色面朝左,而正在往右走的话,也判断为往右走
梦石
0
星屑
34464
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2014-11-22 22:14:58 | 显示全部楼层
在走之前先记录一下:
  1. last_x = @x
  2.     last_y = @y
复制代码
走了一步就判断:
  1. if last_x == @x
  2.     last_y > @y ? 往上走 : (last_y < @y ? 往下走 : 没走)
  3.   else
  4.     last_x > @x ? 往左走 : 往右走
  5.   end
复制代码

评分

参与人数 1星屑 +300 收起 理由
hys111111 + 300 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

无限の剣制

梦石
0
星屑
10450
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2014-11-22 22:21:33 | 显示全部楼层
本帖最后由 VIPArcher 于 2014-11-22 22:29 编辑

没用过XP,以下只是方法,能不能用不保证。
RM里地图人物实例应该有下面这两个属性。可以通过比较他们来判断是否正在向某方向移动
@real_x #实际x和
@x        #理论x
上下方向同理
例如(VA脚本

  1. class Game_CharacterBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 判定是否左移动中
  4.   #--------------------------------------------------------------------------
  5.   def move_left?
  6.     @real_x > @x
  7.   end
  8. end
复制代码
$game_player.move_left? #判断是否左移动中

点评

啥?  发表于 2014-11-22 22:42
@real_x = @x * 128  发表于 2014-11-22 22:31

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 把Base去掉,第7行前面加个return.

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部