你需要一个地图中人物待机时候的动作,简单解决你的问题,需要2个行走图,一个是移动的行走图,一个是停止时候的行走图。
class Game_Player < Game_Character IDLE_DELAY_TIME = 1; IDLE_ANIM_FILE_NAME = '_W'; unless $done01 $done01 = true alias idleAnim_initialize initialize; alias idleAnim_update update; end def initialize() idleAnim_initialize(); @idleTime = 0; end 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
class Game_Player < Game_Character
IDLE_DELAY_TIME = 1;
IDLE_ANIM_FILE_NAME = '_W';
unless $done01
$done01 = true
alias idleAnim_initialize initialize;
alias idleAnim_update update;
end
def initialize()
idleAnim_initialize();
@idleTime = 0;
end
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
|