查看: 39395|回复: 69

[RMVA发布] (原创)多帧4_8方图,4_8向行走 + 待机跑步多寻路等【v1.13】

[复制链接]
梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
发表于 2013-12-21 12:00:38 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 rmav 于 2014-2-14 12:37 编辑

概述:
  1.支持rmVA原格式
  2.支持自定义格式:如多帧、8方图、显示高低等
  3.无论4方图或8方图,都可4向或8向行走(可选其一)
  4.有火车拥挤处理:当人物够宽或够高时会有适当的调整,免得总是挤在一起
  5.障碍踏步:多帧大图,用键盘行走,要是没有障碍踏步的话,手感会很差。
  6.动态待机:当人物停下时,会播放待机动画(包括火车)《包括事件人物》
  7.替换图片:使玩家可替换不同格式的行走图。使行走图的识别与格式串脱钩
  8.事件移动:多帧事件可连续移动把帧数全展现出来
  9.跑步切换:跑步图、行走图、待机图依状态切换。领队、火车、事件均可
  10.loading界面:当场景中有用到多个较大素材时(如3状态大图人物),进行loading
  11.事件寻路: 定点,绕行,效率可调,多事件寻路也可保障帧率与单事件差不多
   【5678910.11】这7个功能可选
  详细请看各插件说明


  应用举例:
  使用商业素材行走图
  使用rmXP行走图

  ☆注意☆:没用到的功能请全部关闭,可提高兼容性及避免没必要的效率影响
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
示例工程v1.137(不含dll) walkDemo_v1.137.rar (1.68 MB, 下载次数: 2767)   
(已清除46楼以内所报bug)
v1.137      :  加入事件动画loading;loading中无音乐,完后播放。
v1.136     : 若在路径中发生意外(如地震,板块漂移什么的- -!),重新寻路
v1.135      :  loading编辑器中设置的所有角色
v1.134      :  在demo中演示多人寻路
v1.132      :  调整了下函数,不用文件名判断[寻路插件]
v1.13        :  局部寻路也进行调度并修复一个被不断快速堵截而跳出的bug[寻路插件]
v1.12        :  调整首次全地图寻路失败后的寻路速度 [寻路插件]
v1.11        :  支持场所移动时loading [loading插件]
v1.1          :  加入寻路插件
v1.099      :  加入图块组loading [loading插件]
v1.098      :  修复bug:Fiber dead ;自动加载多远景  [ loading插件]
v1.097      :  添加一个间隔选项,以便大游戏释放缓存及reloading [loading插件]
v1.096      :  loading进度平滑显示
v1.095      :  加入loading插件
v1.09        :  加入跑步插件
v1.081      :  可设置某事件一直移动不停止;加入单行图8向移动
v1.08       : 给几个移动行为加上8向
                    把待机子插件中事件自动移动,分离出到另一个子插件中
v1.062      :  更新事件人物随机移动
v1.061     : 修正bug:事件人物不能固定踏步
v1.06        :  事件人物随机移动时,碰到障碍进入待机[前提:开启事件人物待机动画]
v1.051      :  改变事件人物的随机移动行为,使事件人物待机效果可较好的体现
v1.05更新: 碰到障碍停下来时,立即到默认帧处,而不是逐渐到默认帧处
v1.05更新: 修正bug:事件消除时,事件人物待机图还存在
v1.04更新:支持打包加密(默认关闭)
v1.036更新:添加全人物待机动画开关,如事件人物(默认关闭)
v1.035更新:初步整合仿空轨战棋v1.48 (不包括战斗行走)    [在整合插件中]
v1.03更新: Window_Base直接可绘制自定义行走图,避免在默认情况下有些窗体上的行走图显示不全,如读档界面
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【以后有更新,只更新示例工程,不更新各楼中的代码了- -!】

由于有较多的使用说明,所以分在子插件中,方便查看与管理
楼层说明
  1楼:行走插件 v1.0
  2楼:替换插件 v1.0
  3楼:屏蔽插件 v1.0
  6楼:整合插件 v1.0  (若使用Sion鼠标脚本,直接用Sion鼠标帖中的8方移动补丁即可)
11楼:动态待机插件 v1.0

(配套插件需要放在主插件之下)

与鼠标插件整合的方法:
1.先把《多帧4_8方图,4_8向行走》插件放在鼠标插件之上,试试看能否正常
2.若1不正常,可尝试放在鼠标插件之下,并参考6楼方法。



#==============================================================================
#   ■ 多帧4_8方图,4_8向行走
#
#   支持4方图:兼容rmVA原格式图片,4向8向行走
#   支持8方图:从上到下方向为:正、左、右、背、左下、右下、左上、右上
#             对应小键盘:24681379
#   支持开火车,有一定范围的拥挤处理。支持4、8方混合开
#   按住方向键时,碰到障碍物会踏步(可选)
#   可选4、8向行走,在代码开头设置,默认为8向行走
#------------------------------------------------------------------------------
#使用说明:对原rmVA不支持的格式,需要对文件名实行命名规则
#         1.png图片,须仅包含一个人物的全套行走
#         2.图片内容,从左到右,小于99帧;
#                    从上到下8个方向:正、左、右、背、左下、右下、左上、右上
#         3.文件命名
#           文件名:角色名+格式串+.png
#                  name@D#DD%DD.png   其中%DD可选
#          @D表示png文件中, 每一列有多少个图。以一位数表示,如8,即8个方向
#          #DD表示png文件中,每一行有多少个图。以两位数表示,如06或6,即6帧
#          %DD,可选,调整角色在游戏画面中的高度,单位像素。如20,即调低20像素
#          说明:因为如果是精美8方图的话,一般有带阴影,而阴影会比脚低
#                这时可通过%DD来调整人物在画面中的高低
#                有些图片空白过多,也可用此来调整,不用弄PS。
#
#小技巧:★可新建一个工程,以RMVA默认的角色领队开火车,可看出是否对齐
#        ★若人物在开火车中挤紧在一起,把其每帧的图片加宽,如>=68像素即可。
#注意:  ☆rmVA原格式行走图,停下来会停在第2帧(这是rmVA的默认方法)
#        ☆自定义格式行走图,停下来会停在第1帧
#        ☆格式串前的name必须在characters文件夹下的png文件中唯一
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#
#   v1.0
#==============================================================================

[pre lang="ruby" line="1"]
#encoding:utf-8
#==============================================================================
#   ■ 多帧4_8方图,4_8向行走
#
#   支持4方图:兼容rmVA原格式图片,4向8向行走
#   支持8方图:从上到下方向为:正、左、右、背、左下、右下、左上、右上
#             对应小键盘:24681379
#   支持开火车,有一定范围的拥挤处理。支持4、8方混合开
#   按住方向键时,碰到障碍物会踏步(可选)
#   可选4、8向行走,在代码开头设置,默认为8向行走
#------------------------------------------------------------------------------
#使用说明:对原rmVA不支持的格式,需要对文件名实行命名规则
#         1.png图片,须仅包含一个人物的全套行走
#         2.图片内容,从左到右,小于99帧;
#                    从上到下8个方向:正、左、右、背、左下、右下、左上、右上
#         3.文件命名
#           文件名:角色名+格式串+.png
#                  name@D#DD%DD.png   其中%DD可选
#          @D表示png文件中, 每一列有多少个图。以一位数表示,如8,即8个方向
#          #DD表示png文件中,每一行有多少个图。以两位数表示,如06或6,即6帧
#          %DD,可选,调整角色在游戏画面中的高度,单位像素。如20,即调低20像素
#          说明:因为如果是精美8方图的话,一般有带阴影,而阴影会比脚低
#                这时可通过%DD来调整人物在画面中的高低
#                有些图片空白过多,也可用此来调整,不用弄PS。
#
#小技巧:★可新建一个工程,以RMVA默认的角色领队开火车,可看出是否对齐
#        ★若人物在开火车中挤紧在一起,把其每帧的图片加宽,如>=68像素即可。
#注意:  ☆rmVA原格式行走图,停下来会停在第2帧(这是rmVA的默认方法)
#        ☆自定义格式行走图,停下来会停在第1帧
#        ☆格式串前的name必须在characters文件夹下的png文件中唯一
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#
#   v1.0
#==============================================================================
$imported ||= {}
$imported[:rmav_walk] = true
module Rmav
  #---------行走选项设置---------#
  Opt_walk={
      dir8_on:     true,   #false则4向行走,本插件系列其他功能仍可以用
      step_ext_on: true    #按着方向键碰到障碍物踏步,若为false则静止(rmVA默认是静止的)
  }

  
  INPUT_HV=[[0,0],[4,2],[0,2],[6,2],[4,0],[0,0],[6,0],[4,8],[0,8],[6,8]]

  #--------------------------------------------------------------------------
  # ● 缓存文件夹中所有png文件名
  #--------------------------------------------------------------------------
  def self.loadFolder(folderName)
    @cache_folder||={}
    folderName.gsub!(/\\/,'/')
    folderName+='/' if folderName[-1]!='/'
    folderName.downcase!
    unless @cache_folder.include?(folderName)
      @cache_folder[folderName]=[]
      Dir.glob(folderName+"*.png"){|f|
        @cache_folder[folderName]<<f.split('/')[-1].chomp!('.png').downcase
      }
    end
    @cache_folder[folderName]   
  end
end

class Sprite_Character  
  #--------------------------------------------------------------------------
  # ● 设置角色的位图(n方向,n帧)
  #--------------------------------------------------------------------------
  alias_method :set_character_bitmap_org_rmav, :set_character_bitmap
  def set_character_bitmap
    self.bitmap = Cache.character(@character_name)
    @fmt_sign = @character_name[/\@(\d{1,2})\#(\d{1,2})(\%(\d{1,2}))?/]      
    if @fmt_sign
      @fmt_sign=[$1.to_i,$2.to_i,$4.to_i]

      @cw = bitmap.width / @fmt_sign[1]   
      @ch = bitmap.height / @fmt_sign[0]  
      self.ox = @cw / 2
      self.oy = @ch-@fmt_sign[2]  
    else
      set_character_bitmap_org_rmav
    end

    if @character
      @character.cw=@cw
      @character.ch=@ch
      @character.fmt_sign=@fmt_sign
      @character.original_pattern=0 if @fmt_sign
    end
  end
  #--------------------------------------------------------------------------
  # ● 更新源矩形
  #--------------------------------------------------------------------------
  def update_src_rect
    if @tile_id == 0
      index = @character.character_index
      pattern = @character.pattern < (@fmt_sign?@fmt_sign[1]:3) \
                ? @character.pattern : 1
      sx = (index % 4 * 3 + pattern) * @cw
      sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch

      case @character.direction
        when 1; sy=@fmt_sign?(@fmt_sign[0]==4?0:4)*@ch:(index / 4 * 4 ) * @ch
        when 3; sy=@fmt_sign?(@fmt_sign[0]==4?0:5)*@ch:(index / 4 * 4 ) * @ch
        when 7; sy=@fmt_sign?(@fmt_sign[0]==4?3:6)*@ch:(index / 4 * 4+3 ) * @ch
        when 9; sy=@fmt_sign?(@fmt_sign[0]==4?3:7)*@ch:(index / 4 * 4+3 ) * @ch
      end
      self.src_rect.set(sx, sy, @cw, @ch)
    end
  end
  
end




class Game_Player
if Rmav::Opt_walk[:dir8_on]
  #--------------------------------------------------------------------------
  # ● 由方向键移动,8方向
  #--------------------------------------------------------------------------
  def move_by_input
    return if !movable? || $game_map.interpreter.running?
    input=Input.dir8
    move_diagonal(*Rmav::INPUT_HV[input]) if input > 0
  end
end

  #--------------------------------------------------------------------------
  # ● 更新步行/踏步动画
  #--------------------------------------------------------------------------
  alias_method :update_animation_org_rmav,:update_animation
  def update_animation
    if stopping? && @stop_count<1
      @step_ext_anime=true
    else
      @step_ext_anime=false
    end
    super
  end
end



class Game_CharacterBase
  attr_accessor :cw,:ch,:fmt_sign,:original_pattern,:step_ext_anime
  alias_method :characterBase_init_org_rmav, :initialize
  def initialize
    characterBase_init_org_rmav
    @cw=@ch=0
    @fmt_sign=nil
    @step_ext_anime=false
  end
  
  
  #--------------------------------------------------------------------------
  # ● 斜向移动
  #     horz : 横向(4 or 6)
  #     vert : 纵向(2 or 8)
  #--------------------------------------------------------------------------
  alias_method :charBase_move_diagonal_org_rmav, :move_diagonal
  def move_diagonal(horz, vert, turn_ok = true)
    unless turn_ok
      charBase_move_diagonal_org_rmav(horz, vert)
      return
    end
    @move_succeed = diagonal_passable?(x, y, horz, vert)
    if @move_succeed
      set_direction(Rmav::INPUT_HV.index([horz, vert]))
      @x = $game_map.round_x_with_direction(@x, horz)
      @y = $game_map.round_y_with_direction(@y, vert)
      @real_x = $game_map.x_with_direction(@x, reverse_dir(horz))
      @real_y = $game_map.y_with_direction(@y, reverse_dir(vert))
      increase_steps
    elsif turn_ok
      set_direction(Rmav::INPUT_HV.index([horz, vert]))
      check_event_trigger_touch_front
    end
  end
  

  #--------------------------------------------------------------------------
  # ● 更新动画图案
  #--------------------------------------------------------------------------
  def update_anime_pattern
    if !@step_anime && @stop_count > 0
      @pattern = @original_pattern
    else
      @pattern = (@pattern + 1) % (@fmt_sign?@fmt_sign[1]:4)
    end
  end
  
  #--------------------------------------------------------------------------
  # ● 更新动画计数
  #--------------------------------------------------------------------------
  alias_method :update_anime_count_org_rmav,:update_anime_count
  def update_anime_count
    if Rmav::Opt_walk[:step_ext_on] && !(moving? && @walk_anime) && @step_ext_anime
      @anime_count += 1      
    else
      update_anime_count_org_rmav
    end
  end


end



class Game_Follower
  attr_accessor :gathering
  alias_method :follower_initialize_org_rmav, :initialize
  def initialize(member_index, preceding_character)
    follower_initialize_org_rmav(member_index, preceding_character)
    @gathering=false
  end
  #--------------------------------------------------------------------------
  # ● 追随带队角色
  #--------------------------------------------------------------------------
  def chase_preceding_character
    unless moving?
      sx = distance_x_from(@preceding_character.x)
      sy = distance_y_from(@preceding_character.y)

      dx_pix=[(@preceding_character.cw+@cw)/2, 79].min

      if !@gathering && dx_pix > sx.abs*32+16
        if sy>0
          return  if (@ch>32+16&&sy<2)
        elsif sy<0
          return if (@preceding_character.ch>32+16&&sy.abs<2)
        else
          return
        end        
      end
      
      if sx != 0 && sy != 0
        move_diagonal(sx > 0 ? 4 : 6, sy > 0 ? 8 : 2)
      elsif sx != 0
        move_straight(sx > 0 ? 4 : 6)
      elsif sy != 0
        move_straight(sy > 0 ? 8 : 2)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias_method :update_org_rmav,:update
  def update
    @step_ext_anime = $game_player.step_ext_anime
    @stop_count=0  if @step_ext_anime
    update_org_rmav
  end
end


class Game_Followers
  #--------------------------------------------------------------------------
  # ● 集合
  #--------------------------------------------------------------------------
  alias_method :gather_org_rmav,:gather
  def gather
    gather_org_rmav
    visible_folloers.each {|follower| follower.gathering=true }
  end

  #--------------------------------------------------------------------------
  # ● 判定是否集合完毕
  #--------------------------------------------------------------------------
  alias_method :gather_org_rmav?,:gather?
  def gather?
    ok = gather_org_rmav?
    if ok
      visible_folloers.each {|follower| follower.gathering=false }
    end
    ok
  end
end
[/pre]

提供一个漂亮模特供展示,把图片另存为beauty@8#06%28.png放入工程charactors文件夹下


beauty@8#06%20

beauty@8#06%20



有什么问题,请大家随便指出,能不能解决那是另一回事{:2_276:}

deleted.rar

75 Bytes, 下载次数: 467

评分

参与人数 4星屑 +452 梦石 +1 收起 理由
一摸多汁 + 60 赞
Fakmab + 2 楼主的ID很好
sszny + 90 为什么我不能奖励好人卡55
Sion + 300 + 1 原创奖励

查看全部评分

梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
 楼主| 发表于 2013-12-21 12:03:02 | 显示全部楼层
本帖最后由 rmav 于 2014-1-9 10:45 编辑

#==============================================================================
#   ■ 玩家更换行走图
#                   (仅支持png中只包含一个角色的行走图)
#
#   这是一个《多帧4_8方图,4_8向行走》插件的配套插件
#   可让玩家在不接触源代码或破解的情况下,自己更换行走图
#   当游戏使用《多帧4_8方图,4_8向行走》插件时,若玩家想更换行走图
#       而2个行走图格式又刚好不一样(如帧数等),不能直接同名替换文件
#       需要使用本插件
#   
#------------------------------------------------------------------------------
#使用说明:
#         原文件名:name@D#DD%DD.png 或name.png  其中%DD可选
#         新文件名:name@D#DD%DD.png   其中%DD可选
#         以上name必须相同,D或DD的值可以不同。
#
#         把原文件中的name改名,或删除文件,再换上新文件,重启游戏即可。
#  
#         配套插件须放在主插件《多帧4_8方图,4_8向行走》之下
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#
#   v1.0
#==============================================================================


[pre lang="ruby" line="1"]
#encoding:utf-8
#==============================================================================
#   ■ 玩家更换行走图
#                   (仅支持png中只包含一个角色的行走图)
#
#   这是一个《多帧4_8方图,4_8向行走》插件的配套插件
#   可让玩家在不接触源代码或破解的情况下,自己更换行走图
#   当游戏使用《多帧4_8方图,4_8向行走》插件时,若玩家想更换行走图
#       而2个行走图格式又刚好不一样(如帧数等),不能直接同名替换文件
#       需要使用本插件
#   
#------------------------------------------------------------------------------
#使用说明:
#         原文件名:name@D#DD%DD.png 或name.png  其中%DD可选
#         新文件名:name@D#DD%DD.png   其中%DD可选
#         以上name必须相同,D或DD的值可以不同。
#
#         把原文件中的name改名,或删除文件,再换上新文件,重启游戏即可。
#  
#         配套插件须放在主插件《多帧4_8方图,4_8向行走》之下
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#
#   v1.0
#==============================================================================
$imported ||= {}
$imported[:rmav_walk_replace] = true

module Cache
  #--------------------------------------------------------------------------
  # ● 获取角色行走图
  #--------------------------------------------------------------------------
  def self.character(filename)
    @char_mapfiles||={}
    unless (filename.empty? )
      filename.downcase!
      if @char_mapfiles[filename]
        filename.replace @char_mapfiles[filename]
      else
        files=Rmav.loadFolder("Graphics/Characters/")

        if not files.include?(filename)
          filename=~%r{(.+)\@\d{1,2}\#\d{1,2}(\%\d{1,2})?}
          prefix = ($1)?($1):filename
          prefix = Regexp.escape prefix.downcase
          files.each{|f|
            found = f[/\A#{prefix}@\d{1,2}#\d{1,2}.*/]
            if found
              @char_mapfiles[filename]=f              
              filename.replace f
              break
            end
          }
        end
      end
    end

    load_bitmap("Graphics/Characters/", filename)
  end  

end


[/pre]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
 楼主| 发表于 2013-12-21 12:06:55 | 显示全部楼层
本帖最后由 rmav 于 2014-1-5 09:28 编辑

这是一个辅助插件,建议选用,方便测试

#==============================================================================
# ■ 屏蔽插件
#
#    按插件标签屏蔽
#    标签名以-开头的将被屏蔽
#    禁用插件:在该插件的标签名前加一个-
#    启用插件:去掉该插件标签名前所有的-
#------------------------------------------------------------------------------
# 使用方法:放在最上面,作为第一个脚本
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#==============================================================================

[pre lang="ruby" line="1"]
#encoding:utf-8
#==============================================================================
# ■ 屏蔽插件
#
#    按插件标签屏蔽
#    标签名以-开头的将被屏蔽
#    禁用插件:在该插件的标签名前加一个-
#    启用插件:去掉该插件标签名前所有的-
#------------------------------------------------------------------------------
# 使用方法:放在最上面,作为第一个脚本
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#==============================================================================



$RGSS_SCRIPTS.each{|v|
  if v[1][/\A-+/] #自定义屏蔽符号格式
    v[2]="x\x9C\u0003\u0000\u0000\u0000\u0000\u0001"
    v[3]=""
  end
}
[/pre]
说明,若有和其他的脚本管理插件一起用时,v[2]那一行可能得注释掉。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
250 小时
注册时间
2011-8-16
回帖
163
发表于 2013-12-24 19:23:16 | 显示全部楼层
厉害!
可以做2d空轨了

点评

http://m.shabixiaoshuo.com/info-1241/ 奸臣  发表于 2015-12-15 21:12
感谢鼓励^_^,更新修复了几个bug,通知下⊙▽⊙  发表于 2013-12-27 18:54
——————
回复

使用道具 举报

梦石
0
星屑
50
在线时间
135 小时
注册时间
2012-6-14
回帖
32
发表于 2013-12-26 11:38:20 | 显示全部楼层
本帖最后由 kkwo 于 2013-12-26 11:41 编辑


想请问此八方向行走有办法配合鼠标脚本吗?
使用此脚本后变成只能使用键盘移动了......
回复

使用道具 举报

梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
 楼主| 发表于 2013-12-26 19:51:56 | 显示全部楼层
本帖最后由 rmav 于 2014-1-5 09:31 编辑
kkwo 发表于 2013-12-26 11:38
想请问此八方向行走有办法配合鼠标脚本吗?
使用此脚本后变成只能使用键盘移动了...... ...


你用哪个鼠标脚本?
我用本版Sion的鼠标插件v2.1C示范工程,试了下,需要整合。

为了在插件更新的时候尽量降低干扰,把整合代码放在一个独立的插件里,如下


[pre lang="ruby" line="1"]
#encoding:utf-8
#==============================================================================
#   ■ 整合多帧8向
#
#   整合《多帧4_8方图,4_8向行走》与其他插件冲突
#------------------------------------------------------------------------------
#使用说明:
#         仅当不兼容时使用
#         把本插件放在《多帧4_8方图,4_8向行走》与冲突插件 之下
#           
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#
#   v1.0 整合《Sion鼠标插件v2.1C》
#==============================================================================
$imported ||= {}
$imported[:rmav_walk_merge] = true



module Rmav
  tmp={
  #冲突插件标记: [是否在使用该插件,是否处理该冲突]
      Sion_mouse: [nil,true]    #Sion鼠标插件冲突
      #说明:Sion鼠标脚本有8向移动补丁,直接用那个补丁可用鼠标8向移动

  }
  Conflicts||={}
  tmp.each_pair{|k,v| Conflicts[k]=v}
end


begin
   if Mouse.class==Module && KsOfSion.class==Module
      Rmav::Conflicts[:Sion_mouse][0]=true
   end
rescue
   Rmav::Conflicts[:Sion_mouse][0]=false
end


if Rmav::Opt_walk[:dir8_on]
class Game_Player
  if Rmav::Conflicts[:Sion_mouse][0]&&Rmav::Conflicts[:Sion_mouse][1]
    #--------------------------------------------------------------------------
    # ● 由方向键移动
    #--------------------------------------------------------------------------
    def move_by_input
      return if !movable? || $game_map.interpreter.running?
      input=Input.dir8
      if input > 0
        move_diagonal(*Rmav::INPUT_HV[input])
        reset_move_path
      else
        move_by_mouse
      end
    end
  end

end
end
[/pre]


若使用Sion鼠标脚本,直接用Sion鼠标帖中的8方移动补丁即可,可以在用鼠标移动时8方移
若使用其他鼠标脚本,请参考48行至57行

回复

使用道具 举报

梦石
0
星屑
50
在线时间
111 小时
注册时间
2013-12-23
回帖
140
发表于 2013-12-27 12:38:33 | 显示全部楼层
這個。。。很奇怪吶。。。。我按照你說的複製了你的圖片改了圖片名,然後把複製了腳本放入,雖說8方向是實現了,可是多幀就不行了。。。雖然人物沒有顯示異常,可動作還是系統的3幀。。。請問樓主可以幫我看一看是怎麼回事嗎?

Project1.rar

1.8 MB, 下载次数: 117

回复

使用道具 举报

梦石
0
星屑
50
在线时间
135 小时
注册时间
2012-6-14
回帖
32
发表于 2013-12-27 13:43:00 | 显示全部楼层
rmav 发表于 2013-12-26 19:51
你用哪个鼠标脚本?
我用本版Sion的鼠标插件v2.1C示范工程,试了下,需要整合。

感谢~我用的正好是Sion的鼠标^^
可以使用了~感激不尽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
 楼主| 发表于 2013-12-27 18:06:13 | 显示全部楼层
sashitian 发表于 2013-12-27 12:38
這個。。。很奇怪吶。。。。我按照你說的複製了你的圖片改了圖片名,然後把複製了腳本放入,雖說8方向是實 ...

汗,这么大漏洞,感谢指出,已修正。请用最新v0.2版。

点评

这个要先制作一个相应的待机图片,等等哦,过几天再来看下出来没  发表于 2013-12-28 19:25
哇可以正常顯示了!!還有鼠標j腳本!好開心!!膜拜LZ!! 如果有時間,可以的話,希望樓主可以試著做人物動態待機腳本~~  发表于 2013-12-27 20:17
回复

使用道具 举报

梦石
0
星屑
50
在线时间
95 小时
注册时间
2008-9-6
回帖
65
发表于 2013-12-28 04:44:21 | 显示全部楼层
膜拜 这个极度的实用
感谢分享

点评

感谢支持^_^,已更新到1.0,通知下⊙▽⊙  发表于 2014-1-5 09:44
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部