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

Project1

 找回密码
 注册会员
搜索
查看: 1755|回复: 2
打印 上一主题 下一主题

[已经解决] 追逐时如何使用跳跃的代码?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
338 小时
注册时间
2014-7-15
帖子
593
跳转到指定楼层
1
发表于 2014-11-20 13:33:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 飞火流萤 于 2014-11-20 13:39 编辑

比如在追逐是我要向上移动可以加入如下代码:
# 面向上
      turn_up
      # 更新坐标
      @y -= 1
      # 歩数増加
      increase_steps
    # 不能通行的情况下
    else
      # 接触事件的启动判定
      check_event_trigger_touch(@x, @y-1)
这样一旦主角靠近事件,事件就会向上移动


以下是character3里面的跳跃代码,我不知道该选哪一段来实现跳跃动作,试验了几次都失败了:
def jump(x_plus, y_plus)
    # 增加值不是 (0,0) 的情况下
    if x_plus != 0 or y_plus != 0
      # 横侧距离长的情况下
      if x_plus.abs > y_plus.abs
        # 变更左右方向
        x_plus < 0 ? turn_left : turn_right
      # 竖侧距离长的情况下
      else
        # 变更上下方向
        y_plus < 0 ? turn_up : turn_down
      end
    end
    # 计算新的坐标
    new_x = @x + x_plus
    new_y = @y + y_plus
    # 增加值为 (0,0) 的情况下、跳跃目标可以通行的场合
    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
      # 矫正姿势
      straighten
      # 更新坐标
      @x = new_x
      @y = new_y
      # 距计算距离
      distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
      # 设置跳跃记数
      @jump_peak = 10 + distance - @move_speed
      @jump_count = @jump_peak * 2
      # 清除停止记数信息
      @stop_count = 0
    end
  end
因为我现在希望达到的效果是,角色遇到不能通行的时候,被主角迫近,实现跳跃

Lv1.梦旅人

梦石
0
星屑
50
在线时间
338 小时
注册时间
2014-7-15
帖子
593
2
 楼主| 发表于 2014-11-20 13:36:34 | 只看该作者
@yang1zhi   

点评

没注意,谢谢你已经告诉我了- -  发表于 2014-11-20 14:50
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
338 小时
注册时间
2014-7-15
帖子
593
3
 楼主| 发表于 2014-11-20 14:50:01 | 只看该作者
此贴完结,已经知道了,jump(x, y)
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-27 19:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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