Project1

标题: 一个自己写的劣质行走系统求解决Bug [打印本页]

作者: Wind2010    时间: 2010-11-5 19:22
标题: 一个自己写的劣质行走系统求解决Bug
本帖最后由 Wind2010 于 2010-11-6 03:01 编辑

火柴人.rar (224.15 KB, 下载次数: 10)
不要吐槽我的素材啦>_<
左右行走时如果遇到地形标志4或者5(掉落)的话会卡机……
求解决这个Bug的办法……
作者: Wind2010    时间: 2010-11-5 22:35
3小时自顶
有人下载了为什么还没人回答啊>_<
作者: enghao_lim    时间: 2010-11-6 02:20
问题出在:
#
-----------------------------------------------------------------------------
      when 4 #左
#-----------------------------------------------------------------------------
        walking_act_first
        move_left
        @move_route_waiting = true
        if $game_player.terrain_tag == 4 or $game_player.terrain_tag == 5
          @move_speed = 6
          loop do
            if $game_player.terrain_tag == 5
              break
            end
            @move_speed += 0.5
            turn_down
            @move_route_waiting = true
          end
          @move_speed += 0.5
          turn_down
          @move_route_waiting = true
          @move_speed = 4
          if $game_player.moving?
          else
            walking_1
          end
        end
        walking_act

一旦开始循环后,脚本会直接运行循环里的内容,也就是说其实game player里的update一点都没有运行到,角色的坐标一点也没有更新到,就因为这样脚本就会陷入一个死胡同,因为永远不可能改变地形标志了,所以卡着了,重写一个与update平行运行的脚本就行了。
作者: enghao_lim    时间: 2010-11-6 02:30
Wind2010  呃……那么再问问怎么重写0 0

其实你可以给以标记,比如说start_pull_down = true,
然后再update里面判断一旦start_pull_down == true,角色的一切行动就只有下降,到不能够下降为止。这样省去了一个5号的地形标志。如果硬要继续使用5号地形标志作为判断降落结束也绝对没有问题。
作者: Wind2010    时间: 2010-11-6 03:01
回复 enghao_lim 的帖子

嗯,谢谢了,现在可以正常下落了,而且还省了一个地形标志……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1