Project1

标题: 行走图????请大家帮帮忙 [打印本页]

作者: lj1983nian    时间: 2011-2-15 22:36
标题: 行走图????请大家帮帮忙
请大家帮帮忙????????谢谢大家了
dsu_plus_rewardpost_czw
作者: hxxdejia    时间: 2011-2-15 22:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 纸飞机哟    时间: 2011-2-15 22:41
本帖最后由 纸飞机哟 于 2011-2-15 22:42 编辑

LZ是想要让角色不在行走状态中时,做待机动作是么?
如果是的话,可以用这个脚本,使用时请先看一下脚本,
看看要做什么准备。

#作者:亿万星辰
#==============================================================================
# ■ Game_Character (分割定义 1)
#------------------------------------------------------------------------------
#  处理角色的类。本类作为 Game_Player 类与 Game_Event
# 类的超级类使用。
#==============================================================================

class Game_Character
  attr_accessor :time
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  alias old_ini initialize
  def initialize
    old_ini
    @time = 0
  end
end

#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
#  处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
#==============================================================================

class Game_Player < Game_Character
  TIME_LIMIT = 200  # 抓耳挠腮前的等待时间 (好象也不是帧…不知道是什么单位了)
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    # 同伴人数为 0 的情况下
    if $game_party.actors.size == 0
      # 清除角色的文件名及对像
      @character_name = ""
      @character_hue = 0
      # 分支结束
      return
    end
    # 获取带头的角色
    actor = $game_party.actors[0]
    # 设置角色的文件名及对像
    @character_name = actor.character_name
    @character_hue = actor.character_hue
    @old_pic = @character_name
    @time = 0
    # 初始化不透明度和合成方式子
    @opacity = 255
    @blend_type = 0
  end
  #--------------------------------------------------------------------------
  # ● 画面更新
  #--------------------------------------------------------------------------
  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
    # 移动中、事件执行中、强制移动路线中、
    # 信息窗口一个也不显示的时候
    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
  end
end

作者: lj1983nian    时间: 2011-2-15 22:51
回复 纸飞机哟 的帖子

提示这个错误
if @anime_count > 16 * 4/$c3_每一步的帧数 - @move_speed # * 2#18 - @move_speed * 2
作者: lj1983nian    时间: 2011-2-15 22:55
回复 lj1983nian 的帖子

能不能麻烦   你给我做个范例啊!

我脚本盲
作者: 纸飞机哟    时间: 2011-2-15 22:56
回复 lj1983nian 的帖子

你是不是用了其他的什么脚本?
此脚本并不是默认的。
作者: lj1983nian    时间: 2011-2-15 22:58
回复 纸飞机哟 的帖子

能不能麻烦你给我做个范例
万分感谢!!!
作者: 纸飞机哟    时间: 2011-2-15 23:05
回复 lj1983nian 的帖子

这只是普通的插入式脚本,不需要做什么特殊的准备,
所以一般来说是不需要范例的啊。你要做的就是准备
一张角色的行走图,然后准备一张待机图。
比如角色的行走图的名称为“阿尔西斯.png”,那么待
机图的名称就为“阿尔西斯_W.png”。
准备好后,就可以了。
作者: lj1983nian    时间: 2011-2-15 23:10
回复 纸飞机哟 的帖子

角色图名字叫〓黑龙〓              第二张叫 〓黑龙〓_w

也就是我问题上那两个图
我插入你给我的脚本
怎么不行啊
作者: 纸飞机哟    时间: 2011-2-15 23:14
回复 lj1983nian 的帖子

如果并没有弹出,你可以修改脚本中的TIME_LIMIT = 200 ,
把200调低(可以调成0或者1试试),然后进入游戏等一下就可以看到了。
作者: lj1983nian    时间: 2011-2-15 23:15
回复 纸飞机哟 的帖子

帮帮我啊!!!
帮我做个小范例吧!
麻烦你了!!
实在没办法了
作者: lj1983nian    时间: 2011-2-15 23:19
回复 纸飞机哟 的帖子

行了!我知道怎么弄了!感谢
作者: lj1983nian    时间: 2011-2-15 23:24
回复 纸飞机哟 的帖子

感谢~~~~~~~~~~~~~~~
作者: lj1983nian    时间: 2011-2-16 15:08
回复 lj1983nian 的帖子

请问在那认可
作者: lj1983nian    时间: 2011-2-16 17:18
看清楚在扣分吧!!!
扣分 扣分  你们出了扣分还能干什么啊!

知道吗?这样很打击大家发帖和回帖的积极性


作者: 沙之爱罗    时间: 2011-2-17 07:38
就是看清楚才扣你的,老大你不会编辑帖子么

认可在此
http://rpg.blue/thread-155199-1-1.html
作者: 露璐    时间: 2011-2-17 07:58
看不懂你什么意思




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