扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 107|回复: 0

[转载发布] 原地待机片刻的小动作

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    昨天 18:01
  • 签到天数: 114 天

    连续签到: 4 天

    [LV.6]常住居民II

    2338

    主题

    403

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10622
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13391

    灌水之王

    发表于 2024-4-19 18:23:40 | 显示全部楼层 |阅读模式
    人物死死的站在那里好象是傻了一些……
    如果间隔一段时间我们没有去移动角色,他能不能自己做出点小动作呢?{/cy}

    main前插入此段脚本,另附工程,里面有个行走图~~
    1. #==============================================================================# ■ Game_Character (分割定义 1)#------------------------------------------------------------------------------#  处理角色的类。本类作为 Game_Player 类与 Game_Event# 类的超级类使用。#==============================================================================class Game_Character  attr_accessor :time  #--------------------------------------------------------------------------  # ● 初始化对像  #--------------------------------------------------------------------------  alias old_ini initialize  def initialize    old_ini    @time = 0  endend#==============================================================================# ■ Game_Player#------------------------------------------------------------------------------#  处理主角的类。事件启动的判定、以及地图的滚动等功能。# 本类的实例请参考 $game_player。#==============================================================================class Game_Player < Game_Character  TIME_LIMIT = 200  # 抓耳挠腮前的等待时间 (好象也不是帧…不知道是什么单位了)  #--------------------------------------------------------------------------  # ● 画面更新  #--------------------------------------------------------------------------  def update    # 本地变量记录移动信息    last_moving = moving?    if @time == TIME_LIMIT      @character_name = @character_name + "_W"      @scratch = true      @step_anime = true      @time = TIME_LIMIT + 1    elsif @time < TIME_LIMIT      @scratch = false      @step_anime = false    end    if @scratch == false      @old_pic = @character_name    end    # 移动中、事件执行中、强制移动路线中、    # 信息窗口一个也不显示的时候    unless moving? or $game_system.map_interpreter.running? or           @move_route_forcing or $game_temp.message_window_showing      # 如果方向键被按下、主角就朝那个方向移动      case Input.dir4      when 2        move_down        @time = 0        @scratch = false        @character_name = @old_pic      when 4        move_left        @time = 0        @scratch = false        @character_name = @old_pic      when 6        move_right        @time = 0        @scratch = false        @character_name = @old_pic      when 8        move_up        @time = 0        @scratch = false        @character_name = @old_pic      end    end    # 本地变量记忆坐标    last_real_x = @real_x    last_real_y = @real_y    super    # 角色向下移动、画面上的位置在中央下方的情况下    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y      # 画面向下卷动      $game_map.scroll_down(@real_y - last_real_y)    end    # 角色向左移动、画面上的位置在中央左方的情况下    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X      # 画面向左卷动      $game_map.scroll_left(last_real_x - @real_x)    end    # 角色向右移动、画面上的位置在中央右方的情况下    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X      # 画面向右卷动      $game_map.scroll_right(@real_x - last_real_x)    end    # 角色向上移动、画面上的位置在中央上方的情况下    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y      # 画面向上卷动      $game_map.scroll_up(last_real_y - @real_y)    end    # 不在移动中的情况下    unless moving?      @time += 1 if @time < TIME_LIMIT      # 上次主角移动中的情况      if last_moving        # 与同位置的事件接触就判定为事件启动        result = check_event_trigger_here([1,2])        # 没有可以启动的事件的情况下        if result == false          # 调试模式为 ON 并且按下 CTRL 键的情况下除外          unless $DEBUG and Input.press?(Input::CTRL)            # 遇敌计数下降            if @encounter_count > 0              @encounter_count -= 1            end          end        end      end      # 按下 C 键的情况下      if Input.trigger?(Input::C)        # 判定为同位置以及正面的事件启动        check_event_trigger_here([0])        check_event_trigger_there([0,1,2])      end    end  endend复制代码
    复制代码

    说明:
    需要一个行走图 XXXX_W.png,比如以 001-Fighter01.png 为人物行走图的话,就需要一个 001-Fighter01_W.png 的待机行走图。工程里我带的那个很简单~~~就是来回扭头~~可以自行修改。
    工程点这里

                本帖来自P1论坛作者亿万星辰,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=2511  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-3-15 00:42 , Processed in 0.121808 second(s), 54 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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