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

Project1

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

[已经解决] 关于冰上滑行的问题

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
帖子
116
跳转到指定楼层
1
发表于 2010-6-25 18:35:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
帖子
116
2
 楼主| 发表于 2010-6-25 23:54:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

3
发表于 2010-6-26 00:03:48 | 只看该作者
我估计是地形标识有关。但是具体怎么解决我还真没办法。。。
努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2007-1-6
帖子
304

短篇八橙光组季军

4
发表于 2010-6-26 01:12:29 | 只看该作者
本帖最后由 burst_TNT 于 2010-6-26 01:24 编辑

请把你的脚本“冰面滑行”按照如下红字部分修改(或者你嫌麻烦直接复制下面的脚本替换你的“冰面滑行”也行……建议你自己修改一次,会比较清楚改的是什么地方,如果有新BUG也好进一步修改)
class Game_Character
  def move_down(turn_enabled = true)
    # 面向下
    if turn_enabled
      turn_down
    end   
    # 有事件的情况
    if check_event(@x, @y)   
      p "ture"
    # 可以通行的场合
    elsif passable?(@x, @y, 2)  
      # 面向下
      turn_down
      # 更新坐标
      @y += 1
      # 增加步数
      increase_steps
      if $game_map.terrain_tag(@x,@y) == 2      
        move_down(turn_enabled)
      #注释掉这行elsif passable?(@x, @y +1, 2)
        #注释掉这行@y +=1
      end
    # 不能通行的情况下
#    else
      # 接触事件的启动判定
#      check_event_trigger_touch(@x, @y + 1)
    end
  end
  def move_left(turn_enabled = true)
    # 面向左
    if turn_enabled
      turn_left
    end
    # 有事件的情况
    if check_event(@x, @y)
    # 可以通行的情况下
    elsif passable?(@x, @y, 4)
      # 面向左
      turn_left
      # 更新坐标
      @x -= 1
      # 增加步数
      increase_steps
      if $game_map.terrain_tag(@x,@y) == 2
        move_left(turn_enabled)
      #注释掉这行elsif passable?(@x -1, @y, 4)
        #注释掉这行@x -= 1
      end
    # 不能通行的情况下
#    else
      # 接触事件的启动判定
#      check_event_trigger_touch(@x -1, @y)
    end
  end
  def move_right(turn_enabled = true)
    # 面向右
    if turn_enabled
      turn_right
    end
    # 有事件的情况
    if check_event(@x, @y)
    # 可以通行的场合
    elsif passable?(@x, @y, 6)
      # 面向右
      turn_right
      # 更新坐标
      @x += 1
      # 增加步数
      increase_steps
      if $game_map.terrain_tag(@x,@y) == 2
        move_right(turn_enabled)
      #注释掉这行elsif passable?(@x + 1, @y, 4)
        #注释掉这行@x += 1
      end
    # 不能通行的情况下
#    else
      # 接触事件的启动判定
#      check_event_trigger_touch(@x + 1, @y)
    end
  end
  def move_up(turn_enabled = true)
    # 面向上
    if turn_enabled
      turn_up
    end
    # 有事件的情况
    if check_event(@x, @y)
    # 可以通行的情况下
    elsif passable?(@x, @y, 8)
      # 面向上
      turn_up
      # 更新坐标
      @y -= 1
      # 歩数増加
      increase_steps
      if $game_map.terrain_tag(@x,@y) == 2
        move_up(turn_enabled)
      #注释掉这行elsif passable?(@x, @y - 1, 8)
        #注释掉这行@y -= 1
      end
    # 不能通行的情况下
#    else
      # 接触事件的启动判定
#      check_event_trigger_touch(@x, @y -1)
    end
  end
end

评分

参与人数 1星屑 +6 收起 理由
听海 + 6 这样一改果然好了。

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
301
在线时间
573 小时
注册时间
2005-10-27
帖子
1164
5
发表于 2010-6-26 01:18:52 | 只看该作者
我估计是地形标识有关。但是具体怎么解决我还真没办法。。。
xcyog 发表于 2010-6-26 00:03

我把他工程里的地形标识都改为0就可以了

点评

那就没有“滑行”的意义了。  发表于 2010-6-26 01:19
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

6
发表于 2010-6-26 07:33:27 | 只看该作者
-_-b 是我很久以前写的那个么……那个算法挺老的了。还有些别的乱七八糟的问题……不打算自己重写的话按lss删掉passable即可

点评

嗯,是的。这就是IamI你很久以前给我的。 话说,如果有新的更好的算法,我也想要。  发表于 2010-6-26 12:41
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

7
发表于 2010-6-26 19:55:45 | 只看该作者
啊。我对四楼的签名上的背景上的大地图很有兴趣。不知道能否共享下。。。
努力努力再努力
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-30 08:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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