Project1

标题: 关于待机动画 [打印本页]

作者: 黑米馒头    时间: 2010-7-3 14:33
标题: 关于待机动画
本帖最后由 黑米馒头 于 2010-7-3 19:33 编辑

帮忙看下....这是人物待机动画脚本...不过有个问题,就是当按下F12,在次进入游戏的时候就出现脚本问题.如图:   
这是脚本.

class Game_Player < Game_Character
IDLE_DELAY_TIME     = 1;
IDLE_ANIM_FILE_NAME = '_W';
alias idleAnim_initialize initialize;
def initialize()
   idleAnim_initialize();
   @idleTime = 0;
end
alias idleAnim_update update;
def update()
   last_moving = moving?();
   idleAnim_update();
   if (!moving?())
     if (IDLE_DELAY_TIME >= @idleTime)
       @idleTime += 1;
     else
       if (!@step_anime && !last_moving)
         @character_name += IDLE_ANIM_FILE_NAME;
         @step_anime      = true;
       end
     end
   else
     if (IDLE_DELAY_TIME < @idleTime)
       player          = $game_party.actors[0];
       @character_name = nil == player ? "" : player.character_name;
       @idleTime       = 0;
       @step_anime     = false;
     end      
   end
end
end
作者: david50407    时间: 2010-7-3 15:26
照图上来讲就是循环太多次= =
alias idleAnim_initialize initialize;
alias idleAnim_update update;
这两行会在按下F12时再做一次
建议改成:

  1. unless $done01
  2. $done01 = true
  3. class Game_Player < Game_Character
  4. IDLE_DELAY_TIME     = 1;
  5. IDLE_ANIM_FILE_NAME = '_W';
  6. alias idleAnim_initialize initialize;
  7. def initialize()
  8.    idleAnim_initialize();
  9.    @idleTime = 0;
  10. end
  11. alias idleAnim_update update;
  12. def update()
  13.    last_moving = moving?();
  14.    idleAnim_update();
  15.    if (!moving?())
  16.      if (IDLE_DELAY_TIME >= @idleTime)
  17.        @idleTime += 1;
  18.      else
  19.        if (!@step_anime && !last_moving)
  20.          @character_name += IDLE_ANIM_FILE_NAME;
  21.          @step_anime      = true;
  22.        end
  23.      end
  24.    else
  25.      if (IDLE_DELAY_TIME < @idleTime)
  26.        player          = $game_party.actors[0];
  27.        @character_name = nil == player ? "" : player.character_name;
  28.        @idleTime       = 0;
  29.        @step_anime     = false;
  30.      end      
  31.    end
  32. end
  33. end
  34. end
复制代码

作者: 黑米馒头    时间: 2010-7-3 16:45
本帖最后由 黑米馒头 于 2010-7-3 17:06 编辑

回复 david50407 的帖子

这样改了,按下F12进入游戏的时候待机动画就显示不出来了,只能关掉游戏从新开启来才行
   
作者: david50407    时间: 2010-7-3 20:05
這樣呢?

  1. class Game_Player < Game_Character
  2. IDLE_DELAY_TIME     = 1;
  3. IDLE_ANIM_FILE_NAME = '_W';
  4. unless $done01
  5. $done01 = true
  6. alias idleAnim_initialize initialize;
  7. alias idleAnim_update update;
  8. end
  9. def initialize()
  10.    idleAnim_initialize();
  11.    @idleTime = 0;
  12. end
  13. def update()
  14.    last_moving = moving?();
  15.    idleAnim_update();
  16.    if (!moving?())
  17.      if (IDLE_DELAY_TIME >= @idleTime)
  18.        @idleTime += 1;
  19.      else
  20.        if (!@step_anime && !last_moving)
  21.          @character_name += IDLE_ANIM_FILE_NAME;
  22.          @step_anime      = true;
  23.        end
  24.      end
  25.    else
  26.      if (IDLE_DELAY_TIME < @idleTime)
  27.        player          = $game_party.actors[0];
  28.        @character_name = nil == player ? "" : player.character_name;
  29.        @idleTime       = 0;
  30.        @step_anime     = false;
  31.      end      
  32.    end
  33. end
  34. end
复制代码

作者: 黑米馒头    时间: 2010-7-3 20:35
回复 david50407 的帖子


    可以了,谢啦!!!




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