查看: 2320|回复: 5

[已经过期] 如何实现移动时先转方向然后再移动?

[复制链接]
梦石
0
星屑
50
在线时间
75 小时
注册时间
2013-8-1
回帖
19
发表于 2013-8-11 10:25:19 | 显示全部楼层 |阅读模式

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

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

×
比如我本来面向右边,如果按一下左,默认的是直接转头走一步。,我想实现先转过头去,不走那一步。。。也就是面向方向与输入方向相同时才行走,否则只改面向
求好人啊~
梦石
0
星屑
50
在线时间
341 小时
注册时间
2013-6-15
回帖
30
发表于 2013-8-11 10:36:34 | 显示全部楼层
你試試看後退一步
回复

使用道具 举报

梦石
0
星屑
407
在线时间
1291 小时
注册时间
2013-1-12
回帖
3349

贵宾

发表于 2013-8-11 11:55:42 | 显示全部楼层
{:2_249:}

回复

使用道具 举报

梦石
0
星屑
50
在线时间
75 小时
注册时间
2013-8-1
回帖
19
 楼主| 发表于 2013-8-11 14:57:32 | 显示全部楼层
76213585 发表于 2013-8-11 11:55

我没表达清楚吗。。
我的意思是平时行走的时候。。。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
75 小时
注册时间
2013-8-1
回帖
19
 楼主| 发表于 2013-8-12 00:16:22 | 显示全部楼层
  #--------------------------------------------------------------------------
  # ● 径向移动
  #     d       : 方向(2,4,6,8)
  #     turn_ok : 是否可以改变方向
  #--------------------------------------------------------------------------
  def move_straight(d, turn_ok = true)
    @move_succeed = passable?(@x, @y, d)
    if @move_succeed
        set_direction(d)
        @x = $game_map.round_x_with_direction(@x, d)
        @y = $game_map.round_y_with_direction(@y, d)
        @real_x = $game_map.x_with_direction(@x, reverse_dir(d))
        @real_y = $game_map.y_with_direction(@y, reverse_dir(d))
        increase_steps
    elsif turn_ok
      set_direction(d)
      check_event_trigger_touch_front
    end
  end
已经找到类了,但是不知道用哪个变量代表目前的方向。。就差一步了,求指点
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2013-8-12 06:56:46 | 显示全部楼层
本帖最后由 亿万星辰 于 2013-8-12 07:14 编辑

当前方向 @direction
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部