查看: 1248|回复: 4

刷新"npc静止时动画脚本"在何处

  [复制链接]
头像被屏蔽

七仙女

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-15
回帖
342
发表于 2008-5-11 18:12:51 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

茄孓

梦石
0
星屑
76
在线时间
140 小时
注册时间
2007-5-29
回帖
820
发表于 2008-5-11 18:14:33 | 显示全部楼层
加个脚本就可以了
回复

使用道具 举报

茄孓

梦石
0
星屑
76
在线时间
140 小时
注册时间
2007-5-29
回帖
820
发表于 2008-5-11 18:39:26 | 显示全部楼层
有一简单的方法还是可以。。。。
在对话前加一个移动路线

本事件
停止时动画 = off
显示信息内容 = “”“”“
本事件
停止时动画 = on


回复

使用道具 举报

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
回帖
2437

贵宾

发表于 2008-5-11 19:51:06 | 显示全部楼层
class Game_Character
  def update
    ... ...
    # 动画计数超过最大值的情况下
    # ※最大值等于基本值减去移动速度 * 1 的值
    if @anime_count > 18 - @move_speed * 2
      # 停止动画为 OFF 并且在停止中的情况下
      if not @step_anime and @stop_count > 0
        # 还原为原来的图形
        @pattern = @original_pattern
      # 停止动画为 ON 并且在移动中的情况下
      else
        # 更新图形
        @pattern = (@pattern + 1) % 4
      end
      # 清除动画计数
      @anime_count = 0
    end
    ... ...
  end
end

下面这个插在main前面就很清楚了, 其实只是Game_Player的update方法是重新写过而已,
不然可以和NPC一样...

  1. class Game_Player < Game_Character
  2.   def initialize
  3.     super
  4.     @step_anime = true
  5.   end
  6.   alias update_OLD update
  7.   def update
  8.     if @anime_count > 18 - @move_speed * 2
  9.       if not @step_anime and @stop_count > 0
  10.         @pattern = @original_pattern
  11.       else
  12.         @pattern = (@pattern + 1) % 4
  13.       end
  14.       @anime_count = 0
  15.     end
  16.     update_OLD
  17.   end
  18. end
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复

使用道具 举报

头像被屏蔽

七仙女

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-15
回帖
342
 楼主| 发表于 2008-5-12 01:18:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部