Project1

标题: (原创)多帧4_8方图,4_8向行走 + 待机跑步多寻路等【v1.13】 [打印本页]

作者: rmav    时间: 2013-12-21 12:00
标题: (原创)多帧4_8方图,4_8向行走 + 待机跑步多寻路等【v1.13】
本帖最后由 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, 下载次数: 2730)   
(已清除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
#==============================================================================

RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. #   ■ 多帧4_8方图,4_8向行走
  4. #
  5. #   支持4方图:兼容rmVA原格式图片,4向8向行走
  6. #   支持8方图:从上到下方向为:正、左、右、背、左下、右下、左上、右上
  7. #             对应小键盘:24681379
  8. #   支持开火车,有一定范围的拥挤处理。支持4、8方混合开
  9. #   按住方向键时,碰到障碍物会踏步(可选)
  10. #   可选4、8向行走,在代码开头设置,默认为8向行走
  11. #------------------------------------------------------------------------------
  12. #使用说明:对原rmVA不支持的格式,需要对文件名实行命名规则
  13. #         1.png图片,须仅包含一个人物的全套行走
  14. #         2.图片内容,从左到右,小于99帧;
  15. #                    从上到下8个方向:正、左、右、背、左下、右下、左上、右上
  16. #         3.文件命名
  17. #           文件名:角色名+格式串+.png
  18. #                  name@D#DD%DD.png   其中%DD可选
  19. #          @D表示png文件中, 每一列有多少个图。以一位数表示,如8,即8个方向
  20. #          #DD表示png文件中,每一行有多少个图。以两位数表示,如06或6,即6帧
  21. #          %DD,可选,调整角色在游戏画面中的高度,单位像素。如20,即调低20像素
  22. #          说明:因为如果是精美8方图的话,一般有带阴影,而阴影会比脚低
  23. #                这时可通过%DD来调整人物在画面中的高低
  24. #                有些图片空白过多,也可用此来调整,不用弄PS。
  25. #
  26. #小技巧:★可新建一个工程,以RMVA默认的角色领队开火车,可看出是否对齐
  27. #        ★若人物在开火车中挤紧在一起,把其每帧的图片加宽,如>=68像素即可。
  28. #注意:  ☆rmVA原格式行走图,停下来会停在第2帧(这是rmVA的默认方法)
  29. #        ☆自定义格式行走图,停下来会停在第1帧
  30. #        ☆格式串前的name必须在characters文件夹下的png文件中唯一
  31. #------------------------------------------------------------------------------
  32. #  by rmav (有任何问题请毫无顾忌滴提出)
  33. #
  34. #   v1.0
  35. #==============================================================================
  36. $imported ||= {}
  37. $imported[:rmav_walk] = true
  38. module Rmav
  39.   #---------行走选项设置---------#
  40.   Opt_walk={
  41.       dir8_on:     true,   #false则4向行走,本插件系列其他功能仍可以用
  42.       step_ext_on: true    #按着方向键碰到障碍物踏步,若为false则静止(rmVA默认是静止的)
  43.   }
  44.  
  45.  
  46.   INPUT_HV=[[0,0],[4,2],[0,2],[6,2],[4,0],[0,0],[6,0],[4,8],[0,8],[6,8]]
  47.  
  48.   #--------------------------------------------------------------------------
  49.   # ● 缓存文件夹中所有png文件名
  50.   #--------------------------------------------------------------------------
  51.   def self.loadFolder(folderName)
  52.     @cache_folder||={}
  53.     folderName.gsub!(/\\/,'/')
  54.     folderName+='/' if folderName[-1]!='/'
  55.     folderName.downcase!
  56.     unless @cache_folder.include?(folderName)
  57.       @cache_folder[folderName]=[]
  58.       Dir.glob(folderName+"*.png"){|f|
  59.         @cache_folder[folderName]<<f.split('/')[-1].chomp!('.png').downcase
  60.       }
  61.     end
  62.     @cache_folder[folderName]   
  63.   end
  64. end
  65.  
  66. class Sprite_Character  
  67.   #--------------------------------------------------------------------------
  68.   # ● 设置角色的位图(n方向,n帧)
  69.   #--------------------------------------------------------------------------
  70.   alias_method :set_character_bitmap_org_rmav, :set_character_bitmap
  71.   def set_character_bitmap
  72.     self.bitmap = Cache.character(@character_name)
  73.     @fmt_sign = @character_name[/\@(\d{1,2})\#(\d{1,2})(\%(\d{1,2}))?/]      
  74.     if @fmt_sign
  75.       @fmt_sign=[$1.to_i,$2.to_i,$4.to_i]
  76.  
  77.       @cw = bitmap.width / @fmt_sign[1]   
  78.       @ch = bitmap.height / @fmt_sign[0]  
  79.       self.ox = @cw / 2
  80.       self.oy = @ch-@fmt_sign[2]  
  81.     else
  82.       set_character_bitmap_org_rmav
  83.     end
  84.  
  85.     if @character
  86.       @character.cw=@cw
  87.       @character.ch=@ch
  88.       @character.fmt_sign=@fmt_sign
  89.       @character.original_pattern=0 if @fmt_sign
  90.     end
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 更新源矩形
  94.   #--------------------------------------------------------------------------
  95.   def update_src_rect
  96.     if @tile_id == 0
  97.       index = @character.character_index
  98.       pattern = @character.pattern < (@fmt_sign?@fmt_sign[1]:3) \
  99.                 ? @character.pattern : 1
  100.       sx = (index % 4 * 3 + pattern) * @cw
  101.       sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
  102.  
  103.       case @character.direction
  104.         when 1; sy=@fmt_sign?(@fmt_sign[0]==4?0:4)*@ch:(index / 4 * 4 ) * @ch
  105.         when 3; sy=@fmt_sign?(@fmt_sign[0]==4?0:5)*@ch:(index / 4 * 4 ) * @ch
  106.         when 7; sy=@fmt_sign?(@fmt_sign[0]==4?3:6)*@ch:(index / 4 * 4+3 ) * @ch
  107.         when 9; sy=@fmt_sign?(@fmt_sign[0]==4?3:7)*@ch:(index / 4 * 4+3 ) * @ch
  108.       end
  109.       self.src_rect.set(sx, sy, @cw, @ch)
  110.     end
  111.   end
  112.  
  113. end
  114.  
  115.  
  116.  
  117.  
  118. class Game_Player
  119. if Rmav::Opt_walk[:dir8_on]
  120.   #--------------------------------------------------------------------------
  121.   # ● 由方向键移动,8方向
  122.   #--------------------------------------------------------------------------
  123.   def move_by_input
  124.     return if !movable? || $game_map.interpreter.running?
  125.     input=Input.dir8
  126.     move_diagonal(*Rmav::INPUT_HV[input]) if input > 0
  127.   end
  128. end
  129.  
  130.   #--------------------------------------------------------------------------
  131.   # ● 更新步行/踏步动画
  132.   #--------------------------------------------------------------------------
  133.   alias_method :update_animation_org_rmav,:update_animation
  134.   def update_animation
  135.     if stopping? && @stop_count<1
  136.       @step_ext_anime=true
  137.     else
  138.       @step_ext_anime=false
  139.     end
  140.     super
  141.   end
  142. end
  143.  
  144.  
  145.  
  146. class Game_CharacterBase
  147.   attr_accessor :cw,:ch,:fmt_sign,:original_pattern,:step_ext_anime
  148.   alias_method :characterBase_init_org_rmav, :initialize
  149.   def initialize
  150.     characterBase_init_org_rmav
  151.     @cw=@ch=0
  152.     @fmt_sign=nil
  153.     @step_ext_anime=false
  154.   end
  155.  
  156.  
  157.   #--------------------------------------------------------------------------
  158.   # ● 斜向移动
  159.   #     horz : 横向(4 or 6)
  160.   #     vert : 纵向(2 or 8)
  161.   #--------------------------------------------------------------------------
  162.   alias_method :charBase_move_diagonal_org_rmav, :move_diagonal
  163.   def move_diagonal(horz, vert, turn_ok = true)
  164.     unless turn_ok
  165.       charBase_move_diagonal_org_rmav(horz, vert)
  166.       return
  167.     end
  168.     @move_succeed = diagonal_passable?(x, y, horz, vert)
  169.     if @move_succeed
  170.       set_direction(Rmav::INPUT_HV.index([horz, vert]))
  171.       @x = $game_map.round_x_with_direction(@x, horz)
  172.       @y = $game_map.round_y_with_direction(@y, vert)
  173.       @real_x = $game_map.x_with_direction(@x, reverse_dir(horz))
  174.       @real_y = $game_map.y_with_direction(@y, reverse_dir(vert))
  175.       increase_steps
  176.     elsif turn_ok
  177.       set_direction(Rmav::INPUT_HV.index([horz, vert]))
  178.       check_event_trigger_touch_front
  179.     end
  180.   end
  181.  
  182.  
  183.   #--------------------------------------------------------------------------
  184.   # ● 更新动画图案
  185.   #--------------------------------------------------------------------------
  186.   def update_anime_pattern
  187.     if !@step_anime && @stop_count > 0
  188.       @pattern = @original_pattern
  189.     else
  190.       @pattern = (@pattern + 1) % (@fmt_sign?@fmt_sign[1]:4)
  191.     end
  192.   end
  193.  
  194.   #--------------------------------------------------------------------------
  195.   # ● 更新动画计数
  196.   #--------------------------------------------------------------------------
  197.   alias_method :update_anime_count_org_rmav,:update_anime_count
  198.   def update_anime_count
  199.     if Rmav::Opt_walk[:step_ext_on] && !(moving? && @walk_anime) && @step_ext_anime
  200.       @anime_count += 1      
  201.     else
  202.       update_anime_count_org_rmav
  203.     end
  204.   end
  205.  
  206.  
  207. end
  208.  
  209.  
  210.  
  211. class Game_Follower
  212.   attr_accessor :gathering
  213.   alias_method :follower_initialize_org_rmav, :initialize
  214.   def initialize(member_index, preceding_character)
  215.     follower_initialize_org_rmav(member_index, preceding_character)
  216.     @gathering=false
  217.   end
  218.   #--------------------------------------------------------------------------
  219.   # ● 追随带队角色
  220.   #--------------------------------------------------------------------------
  221.   def chase_preceding_character
  222.     unless moving?
  223.       sx = distance_x_from(@preceding_character.x)
  224.       sy = distance_y_from(@preceding_character.y)
  225.  
  226.       dx_pix=[(@preceding_character.cw+@cw)/2, 79].min
  227.  
  228.       if !@gathering && dx_pix > sx.abs*32+16
  229.         if sy>0
  230.           return  if (@ch>32+16&&sy<2)
  231.         elsif sy<0
  232.           return if (@preceding_character.ch>32+16&&sy.abs<2)
  233.         else
  234.           return
  235.         end        
  236.       end
  237.  
  238.       if sx != 0 && sy != 0
  239.         move_diagonal(sx > 0 ? 4 : 6, sy > 0 ? 8 : 2)
  240.       elsif sx != 0
  241.         move_straight(sx > 0 ? 4 : 6)
  242.       elsif sy != 0
  243.         move_straight(sy > 0 ? 8 : 2)
  244.       end
  245.     end
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # ● 更新画面
  249.   #--------------------------------------------------------------------------
  250.   alias_method :update_org_rmav,:update
  251.   def update
  252.     @step_ext_anime = $game_player.step_ext_anime
  253.     @stop_count=0  if @step_ext_anime
  254.     update_org_rmav
  255.   end
  256. end
  257.  
  258.  
  259. class Game_Followers
  260.   #--------------------------------------------------------------------------
  261.   # ● 集合
  262.   #--------------------------------------------------------------------------
  263.   alias_method :gather_org_rmav,:gather
  264.   def gather
  265.     gather_org_rmav
  266.     visible_folloers.each {|follower| follower.gathering=true }
  267.   end
  268.  
  269.   #--------------------------------------------------------------------------
  270.   # ● 判定是否集合完毕
  271.   #--------------------------------------------------------------------------
  272.   alias_method :gather_org_rmav?,:gather?
  273.   def gather?
  274.     ok = gather_org_rmav?
  275.     if ok
  276.       visible_folloers.each {|follower| follower.gathering=false }
  277.     end
  278.     ok
  279.   end
  280. end


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





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

deleted.rar

75 Bytes, 下载次数: 460


作者: rmav    时间: 2013-12-21 12:03
本帖最后由 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
#==============================================================================


RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. #   ■ 玩家更换行走图
  4. #                   (仅支持png中只包含一个角色的行走图)
  5. #
  6. #   这是一个《多帧4_8方图,4_8向行走》插件的配套插件
  7. #   可让玩家在不接触源代码或破解的情况下,自己更换行走图
  8. #   当游戏使用《多帧4_8方图,4_8向行走》插件时,若玩家想更换行走图
  9. #       而2个行走图格式又刚好不一样(如帧数等),不能直接同名替换文件
  10. #       需要使用本插件
  11. #   
  12. #------------------------------------------------------------------------------
  13. #使用说明:
  14. #         原文件名:name@D#DD%DD.png 或name.png  其中%DD可选
  15. #         新文件名:name@D#DD%DD.png   其中%DD可选
  16. #         以上name必须相同,D或DD的值可以不同。
  17. #
  18. #         把原文件中的name改名,或删除文件,再换上新文件,重启游戏即可。
  19. #  
  20. #         配套插件须放在主插件《多帧4_8方图,4_8向行走》之下
  21. #------------------------------------------------------------------------------
  22. #  by rmav (有任何问题请毫无顾忌滴提出)
  23. #
  24. #   v1.0
  25. #==============================================================================
  26. $imported ||= {}
  27. $imported[:rmav_walk_replace] = true
  28.  
  29. module Cache
  30.   #--------------------------------------------------------------------------
  31.   # ● 获取角色行走图
  32.   #--------------------------------------------------------------------------
  33.   def self.character(filename)
  34.     @char_mapfiles||={}
  35.     unless (filename.empty? )
  36.       filename.downcase!
  37.       if @char_mapfiles[filename]
  38.         filename.replace @char_mapfiles[filename]
  39.       else
  40.         files=Rmav.loadFolder("Graphics/Characters/")
  41.  
  42.         if not files.include?(filename)
  43.           filename=~%r{(.+)\@\d{1,2}\#\d{1,2}(\%\d{1,2})?}
  44.           prefix = ($1)?($1):filename
  45.           prefix = Regexp.escape prefix.downcase
  46.           files.each{|f|
  47.             found = f[/\A#{prefix}@\d{1,2}#\d{1,2}.*/]
  48.             if found
  49.               @char_mapfiles[filename]=f              
  50.               filename.replace f
  51.               break
  52.             end
  53.           }
  54.         end
  55.       end
  56.     end
  57.  
  58.     load_bitmap("Graphics/Characters/", filename)
  59.   end  
  60.  
  61. end

作者: rmav    时间: 2013-12-21 12:06
本帖最后由 rmav 于 2014-1-5 09:28 编辑

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

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

RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ 屏蔽插件
  4. #
  5. #    按插件标签屏蔽
  6. #    标签名以-开头的将被屏蔽
  7. #    禁用插件:在该插件的标签名前加一个-
  8. #    启用插件:去掉该插件标签名前所有的-
  9. #------------------------------------------------------------------------------
  10. # 使用方法:放在最上面,作为第一个脚本
  11. #------------------------------------------------------------------------------
  12. #  by rmav (有任何问题请毫无顾忌滴提出)
  13. #==============================================================================
  14.  
  15.  
  16.  
  17. $RGSS_SCRIPTS.each{|v|
  18.   if v[1][/\A-+/] #自定义屏蔽符号格式
  19.     v[2]="x\x9C\u0003\u0000\u0000\u0000\u0000\u0001"
  20.     v[3]=""
  21.   end
  22. }

说明,若有和其他的脚本管理插件一起用时,v[2]那一行可能得注释掉。
作者: sszny    时间: 2013-12-24 19:23
厉害!
可以做2d空轨了
作者: kkwo    时间: 2013-12-26 11:38
本帖最后由 kkwo 于 2013-12-26 11:41 编辑


想请问此八方向行走有办法配合鼠标脚本吗?
使用此脚本后变成只能使用键盘移动了......
作者: rmav    时间: 2013-12-26 19:51
本帖最后由 rmav 于 2014-1-5 09:31 编辑
kkwo 发表于 2013-12-26 11:38
想请问此八方向行走有办法配合鼠标脚本吗?
使用此脚本后变成只能使用键盘移动了...... ...


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

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


RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. #   ■ 整合多帧8向
  4. #
  5. #   整合《多帧4_8方图,4_8向行走》与其他插件冲突
  6. #------------------------------------------------------------------------------
  7. #使用说明:
  8. #         仅当不兼容时使用
  9. #         把本插件放在《多帧4_8方图,4_8向行走》与冲突插件 之下
  10. #           
  11. #------------------------------------------------------------------------------
  12. #  by rmav (有任何问题请毫无顾忌滴提出)
  13. #
  14. #   v1.0 整合《Sion鼠标插件v2.1C》
  15. #==============================================================================
  16. $imported ||= {}
  17. $imported[:rmav_walk_merge] = true
  18.  
  19.  
  20.  
  21. module Rmav
  22.   tmp={
  23.   #冲突插件标记: [是否在使用该插件,是否处理该冲突]
  24.       Sion_mouse: [nil,true]    #Sion鼠标插件冲突
  25.       #说明:Sion鼠标脚本有8向移动补丁,直接用那个补丁可用鼠标8向移动
  26.  
  27.   }
  28.   Conflicts||={}
  29.   tmp.each_pair{|k,v| Conflicts[k]=v}
  30. end
  31.  
  32.  
  33. begin
  34.    if Mouse.class==Module && KsOfSion.class==Module
  35.       Rmav::Conflicts[:Sion_mouse][0]=true
  36.    end
  37. rescue
  38.    Rmav::Conflicts[:Sion_mouse][0]=false
  39. end
  40.  
  41.  
  42. if Rmav::Opt_walk[:dir8_on]
  43. class Game_Player
  44.   if Rmav::Conflicts[:Sion_mouse][0]&&Rmav::Conflicts[:Sion_mouse][1]
  45.     #--------------------------------------------------------------------------
  46.     # ● 由方向键移动
  47.     #--------------------------------------------------------------------------
  48.     def move_by_input
  49.       return if !movable? || $game_map.interpreter.running?
  50.       input=Input.dir8
  51.       if input > 0
  52.         move_diagonal(*Rmav::INPUT_HV[input])
  53.         reset_move_path
  54.       else
  55.         move_by_mouse
  56.       end
  57.     end
  58.   end
  59.  
  60. end
  61. end



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


作者: sashitian    时间: 2013-12-27 12:38
這個。。。很奇怪吶。。。。我按照你說的複製了你的圖片改了圖片名,然後把複製了腳本放入,雖說8方向是實現了,可是多幀就不行了。。。雖然人物沒有顯示異常,可動作還是系統的3幀。。。請問樓主可以幫我看一看是怎麼回事嗎?

Project1.rar

1.8 MB, 下载次数: 117


作者: kkwo    时间: 2013-12-27 13:43
rmav 发表于 2013-12-26 19:51
你用哪个鼠标脚本?
我用本版Sion的鼠标插件v2.1C示范工程,试了下,需要整合。

感谢~我用的正好是Sion的鼠标^^
可以使用了~感激不尽
作者: rmav    时间: 2013-12-27 18:06
sashitian 发表于 2013-12-27 12:38
這個。。。很奇怪吶。。。。我按照你說的複製了你的圖片改了圖片名,然後把複製了腳本放入,雖說8方向是實 ...

汗,这么大漏洞,感谢指出,已修正。请用最新v0.2版。
作者: tz5514    时间: 2013-12-28 04:44
膜拜 这个极度的实用
感谢分享
作者: rmav    时间: 2013-12-28 23:16
本帖最后由 rmav 于 2014-1-9 10:45 编辑

本帖测试用的待机图片,是个4帧的,不知道是不是真正的待机图。反正能放就是了。若有6帧以上的应该会好些
sashitian   来看看   
#==============================================================================
#   ■ 人物动态待机
#                  (仅支持png中只包含一个角色的图)
#
#   这是一个《多帧4_8方图,4_8向行走》插件的配套插件
#   会自动寻找待机图片(依据行走图文件)
#   当有待机图片时,在角色等待时会播放待机图片动画
#   当没有待机图片时,在角色等待时不会播放任何动画,也不会提示。   
#   
#------------------------------------------------------------------------------
#使用说明:
#         必须与行走图文件配套,注意校准
#         行走图文件名:name@D#DD%DD.png     其中%DD可选
#         待机图文件名:name_w@D#DD%DD.png   其中%DD可选
#         
#         以上name必须相同,D或DD的值可以不同。
#
#         待机图文件放在characters文件夹下。
#         
#       ★停下多久播放待机动画,在代码开头设置
#
#         配套插件须放在主插件《多帧4_8方图,4_8向行走》之下
#------------------------------------------------------------------------------
#  by rmav (有任何问题请毫无顾忌滴提出)
#
#   v1.0
#==============================================================================


RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. #   ■ 人物动态待机
  4. #                  (仅支持png中只包含一个角色的图)
  5. #
  6. #   这是一个《多帧4_8方图,4_8向行走》插件的配套插件
  7. #   会自动寻找待机图片(依据行走图文件)
  8. #   当有待机图片时,在角色等待时会播放待机图片动画
  9. #   当没有待机图片时,在角色等待时不会播放任何动画,也不会提示。   
  10. #   
  11. #------------------------------------------------------------------------------
  12. #使用说明:
  13. #         必须与行走图文件配套,注意校准
  14. #         行走图文件名:name@D#DD%DD.png     其中%DD可选
  15. #         待机图文件名:name_w@D#DD%DD.png   其中%DD可选
  16. #         
  17. #         以上name必须相同,D或DD的值可以不同。
  18. #
  19. #         待机图文件放在characters文件夹下。
  20. #         
  21. #       ★停下多久播放待机动画,在代码开头设置
  22. #
  23. #         配套插件须放在主插件《多帧4_8方图,4_8向行走》之下
  24. #------------------------------------------------------------------------------
  25. #  by rmav (有任何问题请毫无顾忌滴提出)
  26. #
  27. #   v1.0
  28. #==============================================================================
  29. $imported ||= {}
  30. $imported[:rmav_walk_wait] = true
  31. module Rmav
  32.     #--------待机选项---------#
  33.     Opt_wait={
  34.                            #停下多久播放待机动画,默认为90约1.5秒左右
  35.         stop_count: 90,    #推荐取值范围12至120
  36.         play_speed: 0.5    #播放速度,越大越快
  37.     }
  38. end
  39.  
  40.  
  41.  
  42. class Game_CharacterBase
  43.   alias_method :characterBase_init_org_rmav_2, :initialize
  44.   def initialize
  45.     characterBase_init_org_rmav_2
  46.     init_waiting
  47.   end
  48.  
  49.   def init_waiting(wait_enable=false)
  50.     @wait_enable=wait_enable
  51.     @waiting_name=nil
  52.     @character_name_org=nil
  53.     @got_waiting_name=nil
  54.     @wait_anime=false
  55.   end
  56.  
  57.   def waiting?
  58.     @wait_enable&&stopping? &&!@character_name.empty? \
  59.     && @stop_count>Rmav::Opt_wait[:stop_count]
  60.   end
  61.  
  62.   def waiting_play?
  63.     waiting? && @got_waiting_name
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 更新等待、行走
  67.   #--------------------------------------------------------------------------
  68.  
  69.   def update_waiting_walking
  70.     if waiting?
  71.       if @got_waiting_name
  72.         @character_name=@waiting_name
  73.       elsif @got_waiting_name==nil
  74.         @got_waiting_name=false
  75.         @character_name=~%r{(.+)\@\d{1,2}\#\d{1,2}(\%\d{1,2})?}
  76.         if $1
  77.           @waiting_name=$1+"_w"
  78.           waiting_name_esc = Regexp.escape @waiting_name.downcase
  79.           files=Rmav.loadFolder("Graphics/Characters/")
  80.           files.each{|f|
  81.             found = f[/\A#{waiting_name_esc}@\d{1,2}#\d{1,2}.*/]
  82.             if found
  83.               @waiting_name.replace f
  84.               @got_waiting_name=true
  85.               break
  86.             end
  87.           }
  88.           @character_name_org=@character_name
  89.           @character_name=@waiting_name if @got_waiting_name
  90.         end
  91.       end
  92.     else
  93.       @character_name=@character_name_org if @character_name_org
  94.     end
  95.   end
  96.  
  97.   #--------------------------------------------------------------------------
  98.   # ● 更新画面
  99.   #--------------------------------------------------------------------------
  100.   alias_method :update_org_rmav_2,:update
  101.   def update
  102.     update_waiting_walking
  103.     update_org_rmav_2
  104.   end
  105.  
  106.   #--------------------------------------------------------------------------
  107.   # ● 更新步行/踏步动画
  108.   #--------------------------------------------------------------------------
  109.   alias_method :update_animation_org_rmav_2,:update_animation
  110.   def update_animation
  111.     if waiting_play?
  112.       @wait_anime=true
  113.     else
  114.       @wait_anime=false
  115.     end
  116.     update_animation_org_rmav_2
  117.   end
  118.  
  119.   #--------------------------------------------------------------------------
  120.   # ● 更新动画计数
  121.   #--------------------------------------------------------------------------
  122.   alias_method :update_anime_count_org_rmav_2,:update_anime_count
  123.   def update_anime_count
  124.     if @wait_anime
  125.       @anime_count += Rmav::Opt_wait[:play_speed]
  126.       return
  127.     end
  128.     update_anime_count_org_rmav_2
  129.   end
  130.  
  131.   #--------------------------------------------------------------------------
  132.   # ● 更新动画图案
  133.   #--------------------------------------------------------------------------
  134.   alias_method :update_anime_pattern_org_rmav_2,:update_anime_pattern
  135.   def update_anime_pattern
  136.     if @wait_anime
  137.       @pattern = (@pattern + 1) % (@fmt_sign?@fmt_sign[1]:4)
  138.       return
  139.     end
  140.     update_anime_pattern_org_rmav_2
  141.   end
  142. end
  143.  
  144. class Game_Player
  145.   alias_method :initialize_org_rmav_2,:initialize
  146.   def initialize
  147.     initialize_org_rmav_2
  148.     @wait_enable=true
  149.   end
  150.  
  151.   #--------------------------------------------------------------------------
  152.   # ● 刷新
  153.   #--------------------------------------------------------------------------
  154.   alias_method :refresh_org_rmav_2,:refresh
  155.   def refresh   
  156.     init_waiting(true)
  157.     refresh_org_rmav_2
  158.   end
  159.  
  160. end
  161.  
  162. class Game_Follower
  163.   alias_method :follower_initialize_org_rmav_2, :initialize
  164.   def initialize(member_index, preceding_character)
  165.     follower_initialize_org_rmav_2(member_index, preceding_character)
  166.     @wait_enable=true
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ● 刷新
  170.   #--------------------------------------------------------------------------
  171.   alias_method :refresh_org_rmav_2,:refresh
  172.   def refresh   
  173.     init_waiting(true)
  174.     refresh_org_rmav_2
  175.   end
  176.  
  177. end



下面的待机图片必须与行走图配套,请重新下载顶楼的行走图。
将以下图片保存为beauty_w@8#4%28.png,并放在characters文件夹中。




作者: sszny    时间: 2013-12-29 17:09
楼主跟新真快-3-

作者: sszny    时间: 2013-12-29 17:28
本帖最后由 sszny 于 2013-12-29 17:30 编辑

脚本“xx”第58 行 发生 NoMethodError
underfined method"original_pattern="for
#<Gane_player:0x9504138>


0.3+待机

之前0.2没问题啊
作者: sszny    时间: 2013-12-29 18:58
rmav 发表于 2013-12-28 23:16
本帖测试用的待机图片,是个4帧的,不知道是不是真正的待机图。反正能放就是了。若有6帧以上的应该会好些
...

行走没问题了

待机错误
第31行  
发生encoding::UndefinedConversionError。
“\xB6” from ASCII-8BIT to UTF-8
作者: sszny    时间: 2013-12-29 20:29
楼主 弄个范例下载吧030
如果你那里运行ok的话,可能是我系统缺什么文件了,我自己再去慢慢找找看030
作者: rmav    时间: 2013-12-29 21:04
本帖最后由 rmav 于 2013-12-29 21:06 编辑
sszny 发表于 2013-12-29 20:29
楼主 弄个范例下载吧030
如果你那里运行ok的话,可能是我系统缺什么文件了,我自己再去慢慢找找看030 ...


我从网页上复制下来,放到新建工程里没问题。
给你传上来,文件超出2M了,所以不包含RGSS300.dll,自己放进去哈

walkDemo_v0.3.zip (1.11 MB, 下载次数: 83)
作者: sszny    时间: 2013-12-30 12:51
可能我这里就是缺什么编程语言包
发现除了待机 ,其他整合也不能用

不过主系统能用我很欣慰了
作者: sashitian    时间: 2013-12-30 17:32
非常不錯!可以用!
但是在放開方向鍵以後不會立馬播放待機動畫,出現尷尬的真空時期。不知LZ可不可以改成不按方向鍵就立馬播放待機動畫?
LZ真是大神啊!!我覺得此貼應被編輯到博物館裡!
作者: sashitian    时间: 2013-12-30 17:33
sszny 发表于 2013-12-30 12:51
可能我这里就是缺什么编程语言包
发现除了待机 ,其他整合也不能用

你是什麼問題?我這裡很好的說。
你來新建一個工程,再把範例放進工程里覆蓋試試。
作者: rmav    时间: 2014-1-5 09:46
之前0.x版好像比较稳定了,更新到1.0,顶下。{:2_284:}
作者: 艾孜哈尔    时间: 2014-1-15 22:37
这个脚本和仿空之轨迹式的战棋脚本用在一起会出现一个问题,详见这个帖子:http://rpg.blue/forum.php?mod=vi ... p;extra=#pid2403758
作者: tz5514    时间: 2014-1-20 18:45
本帖最后由 tz5514 于 2014-1-20 18:47 编辑

不好意思请问一下

待机图动画的补丁(11楼) 请问可以也应用在NPC(也就是地图上的事件)吗?

就是说让事件也和主角一样 静止时行走图切换成待机的 移动时行走图切换成走路的

感谢!!
作者: pandeng421    时间: 2014-1-21 02:02
您好!首先感谢您为大家提供了这么好的脚本插件,非常感谢!! 但是我使用后遇到个问题,就是步行图正常,但是待机不显示,我仔细查过脚本和脚本顺序都没有问题,图片直接用的您范例中的,名字都没改,实在不知道为什么,只好打扰您了……
作者: pandeng421    时间: 2014-1-22 01:55
rmav  你用的顶楼的示例工程吗? 待机动画默认要1.5秒才播放的。

是用的顶楼的示例,待机动画我改过时间,也不行,我怀疑是没有捕捉到待机动画,是不是目录问题?你的捕捉脚本是不是忽略了源程序里面,Characters文件夹是在RTP下的?因为忽略了RTP文件夹,所以没有捕捉到? 不好意思,实在找不到原因,瞎想的。
作者: pandeng421    时间: 2014-1-22 02:24
我把我的工程发给您一下,请抽空看看问题在哪里,拜谢!

mygame01.rar

307.44 KB, 下载次数: 74


作者: pandeng421    时间: 2014-1-22 02:27
汗死,我知道问题在哪里了,工程中“测试”是不行的,但是打包成游戏时就可以了……
作者: rmav    时间: 2014-1-22 10:26
本帖最后由 rmav 于 2014-1-22 10:36 编辑
pandeng421 发表于 2014-1-22 01:55
rmav  你用的顶楼的示例工程吗? 待机动画默认要1.5秒才播放的。

是用的顶楼的示例,待机动画我改过时间 ...


的确如你所说,没有搜索RTP.
建议把非rmVA自带的东西,都放在工程目录下。

若把游戏打包之后,都在一起了,所以又没有问题了。

不考虑搜索RTP,有个重要原因是:游戏名可以使用中文目录,并安装在中文目录下。
若考虑RTP,要切换目录,若目录路径中有中文的话,默认会出错。
再者,标准RTP不应该加入额外的东西。

-----------------
或者有谁知道有什么好的方法?
作者: pandeng421    时间: 2014-1-22 11:31
rmav 发表于 2014-1-22 10:26
的确如你所说,没有搜索RTP.
建议把非rmVA自带的东西,都放在工程目录下。

先把工程打包一次,打包后的正常,然后再启动原工程,工程中就测试正常了, 很奇葩,原因不明……
作者: tz5514    时间: 2014-1-24 03:34
楼主不好意思
我发现了一个问题
就是如果有使用动态待机插件脚本 并且在主脚本当中

step_ext_on: false    #按着方向键碰到障碍物踏步,若为false则静止(rmVA默认是静止的)

这个设为false的话

撞到障碍物时会继续踏两步然后停在行走图的第一帧 脚抬着一半 (这应该是没有动态待机的情况下系统默认的做法)
而沒有像不行走時一樣的马上切换到待机图   
如下面所示


如果让事件也开启动态待机的话同样的情形会在NPC事件与主角对谈时发生 被觸發的事件也是在面向主角時會切換到走路圖然後走兩步後停在第一帧


这应该只是少寫这个功能了 回报一下楼主
感谢!
作者: rmav    时间: 2014-1-24 10:13
本帖最后由 rmav 于 2014-1-24 10:31 编辑
tz5514 发表于 2014-1-24 03:34
楼主不好意思
我发现了一个问题
就是如果有使用动态待机插件脚本 并且在主脚本当中

感谢回报,分析一下:

先把待机动画的概念达成一致下。
待机动画,不是碰到障碍时或仅仅不走动时播放的,是人物不走动没事干在等待时播放的。

若没有障碍踏步。
有时候人物虽然看上去没走动,但是他是企图在走动(并不是在那等待),只是走动失败了:
1.比如你按着方向键不放碰到障碍物
2.又比如事件人物在走时撞上你或障碍物了(事件人物打算从A点走到B点,但在中间被你截住了)
这几种情况人物都还在企图前进,只是前进失败了,会停止在默认帧处
这2种情况人物不是在等待状态,都是在努力前进当中。
什么是等待状态:事件人物主动停下或玩家松开键盘
我觉得这种表现是正常的啊?

另事件人物是没有障碍踏步的,总不能玩家截住它问话,它还在不停的走吧。

作者: tz5514    时间: 2014-1-26 05:21
rmav 发表于 2014-1-24 10:13
感谢回报,分析一下:

先把待机动画的概念达成一致下。

主角的问题是我自己的需求 我再改看看好了

而事件NPC的现象我想用文字可能不是表达得很清楚 直接上视频

如视频中所示 与NPC对谈时NPC有时会莫名的走了两步然后停在行走图的其中一帧 就如同我上篇说的主角在撞墙时的表现 非常突兀
而以正常逻辑来看应该是要保持待机图 只是转个方向而已吧



另外发现了另一个BUG
当事件使用动态待机的话 "暂时移除该事件"这个指令(也就是erase方法)会异常
留下图形没有完全移除 变成可以穿来穿去的幽灵 如下面视频


不好意思麻煩您了 感謝
作者: rmav    时间: 2014-1-26 13:21
本帖最后由 rmav 于 2014-1-26 14:06 编辑
tz5514 发表于 2014-1-26 05:21
主角的问题是我自己的需求 我再改看看好了

而事件NPC的现象我想用文字可能不是表达得很清楚 直接上视频


1.改变方向会失去待机状态的(这是正常的吧)
2.碰到障碍立即停到默认帧处而不是逐渐到默认帧处。
3.消除事件时,待机动画也消失

v1.05已解决2、3
事件人物要开启待机动画,还得更改下事件人物的自动移动方式,否则按默认走走停停会很容易看到抽风现象。{:2_276:} v1.051有作出稍微的改变



作者: rmav    时间: 2014-1-26 16:27
你要改变方向不失去待机状态,且碰到障碍时播放待机动画(前提是已关闭了障碍踏步,否则两个功能冲突了)
把以下代码加在行走插件的末尾,就行吧。 我没做充分测试,好像没问题。
RUBY 代码复制
  1. class Game_CharacterBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 更改方向
  4.   #     d : 方向(2,4,6,8)
  5.   #--------------------------------------------------------------------------
  6.   def set_direction(d)
  7.     @direction = d if !@direction_fix && d != 0
  8.  
  9.   end
  10. end


不过这种行为实在不是常规行为。最好不要用
作者: tz5514    时间: 2014-1-26 22:54
rmav 发表于 2014-1-26 13:21
1.改变方向会失去待机状态的(这是正常的吧)
2.碰到障碍立即停到默认帧处而不是逐渐到默认帧处。
3.消除 ...

感谢修复
经过测试应该是目前没什么问题了
下面给楼主献丑一下我目前人物地图整合出来的小小demo


这个在地图人物方面整合了楼主的这个精品脚本、
我自己依需求写的事件移动方法脚本(+可个别设置的脚步声播放)、
  

即时遇敌脚本(周围有什么事件 战斗中敌群中就有什么敌人)、
动态产生事件脚本

最后再次万分感谢楼主的帮助 这几天一直麻烦您 不好意思了
作者: pandeng421    时间: 2014-1-29 16:02
汇报一个BUG,新版1.06中,如果新建一个事件使用踏步动画的话,动画失效。
作者: pandeng421    时间: 2014-1-30 19:15
给大哥拜年了,居然又更新了,您辛苦了!!
作者: kkwo    时间: 2014-1-30 20:48
看到有更新过来膜拜<O>
想请问一下有时间可以用个跑步不同行走图的插件吗?
毕竟比较精细的行走图在跑步的时候用行走的看起来就满奇怪的~
如果不行也不勉强^^
作者: rmav    时间: 2014-2-4 18:36
已更新了,跑步插件 ,@kkwo 来看看,别忘了报bug

由于没有相应的跑步图,demo中跑步图是用不同颜色的行走图替代的。你换上真正的跑步图看看效果怎么样? 当然行走、待机、跑步这3状态图你要校准好。

附带一个loading插件,如果有一个场景中,有好几个这种3态人物且是大图的话,需要该插件。

具体看各插件说明
作者: tz5514    时间: 2014-2-6 01:05
rmav 发表于 2014-2-4 18:36
已更新了,跑步插件 ,@kkwo 来看看,别忘了报bug

由于没有相应的跑步图,demo中跑步图是用不同颜色的行走 ...

loding功能有bug
打开选单再观掉 就会跳出dead fiber called

另外我还是不太懂这个功能的用处
请问远景图有点大要读蛮久的时候这个有效吗哈哈(我用大型双远景的)
作者: rmav    时间: 2014-2-6 08:05
本帖最后由 rmav 于 2014-2-6 18:46 编辑
tz5514 发表于 2014-2-6 01:05
loding功能有bug
打开选单再观掉 就会跳出dead fiber called


这个bug已经解决。 感谢回报。还未更新上来
这个功能的用处:
有时候进入某个场景前,会不会碰到黑屏有点久?如果这个场景里有许多大素材要首次加载的话,就会。比如在场景中放有几十个300k以上的各不相同的图片
有时候在玩游戏的时候会出现卡顿,这种卡顿是由于实时首次加载大素材造成的。比如在游戏中切换某个1M的新图片或者一次切换了很多个新的之前未用过的小图片。
(由于demo不方便包含大素材,所以要测试的话,自己加入大素材试试看)

远景图也可以加入loading的,loading函数下的todo注释部分就是做这些事的,本想留来大家自己写的。
(要加载的远景图可能会放入地图注释)
另外:默认的远景图放在$game_map.parallax_name,双远景的远景图存在哪?如果有约定俗成的地方的话就不用添加注释之类的东西

还有什么有规律的明显大图需要的loading的,一块报上来,回头一起更新上。

作者: Fakmab    时间: 2014-2-6 16:23
12桢行走图的队列移动出现队员走一步闪一下的BUG
作者: rmav    时间: 2014-2-6 18:34
@tz5514 已更新1.098,要改的话,可参考里面的loading部分
看了论坛的几个脚本,多远景,基本是在原名字后加_2或_3,自动检测了。你看看
作者: 624183062    时间: 2014-2-6 22:29
lz,为毛配合sion的鼠标脚本会没有八方图效果啊!?!{:2_254:}
作者: sam小子    时间: 2014-2-7 10:44
哇,这个太实用了,下了看看。
作者: Fakmab    时间: 2014-2-7 19:20
队列的第三个人一闪一闪的
作者: rmav    时间: 2014-2-7 20:15
Fakmab 发表于 2014-2-7 19:20
队列的第三个人一闪一闪的

把图片发上来啊。你要是怕被人盗,就在图上随便涂几画。 晕死,还不情不愿的{:2_265:}

作者: Fakmab    时间: 2014-2-11 22:58
鼓励鼓励~~能加45度全动画战斗j就更好了!
作者: tz5514    时间: 2014-2-14 03:41
本帖最后由 tz5514 于 2014-2-14 03:53 编辑

求救@rmav
使用loding插件之后
在loding到大约一半时会跳出错误


脚本编辑器当中:


我使用的这张地图有用到大型双远景
请问如何解决
还是说有跟我其他的脚本冲突到
谢谢

另外 建议loding加载画面时先不要播放该地图的背景音乐 等到正式加载完成画面切换后再开始播放
作者: rmav    时间: 2014-2-14 12:48
tz5514 发表于 2014-2-14 03:41
求救@rmav
使用loding插件之后
在loding到大约一半时会跳出错误

已更新1.137
在loading时不会播放音乐,loading完才播放
也支持要进入的场景中的所有动画loading,这样播放大动画就不会卡了(不包括用脚本自己放的动画,这个需要手动加入loading函数) 【我是看你上面有什么动画防卡,就加上了^_^】


你试试1.137会不会跳出上面那个event错误,若会的话,可能是脚本冲突了,我要多加一个判断。你可能有些地图中出现的事件不是在编辑器中设置的。不知道会怎么样。这个错误跟远景图应该没关系
作者: 17832610    时间: 2014-3-7 23:35
tz5514 发表于 2014-1-20 18:45
不好意思请问一下

待机图动画的补丁(11楼) 请问可以也应用在NPC(也就是地图上的事件)吗?

楼主帮了我个大忙 太感谢了
作者: 17832610    时间: 2014-3-7 23:49
楼主您好  我再问下你的脚本在待机图上显示8乘8的好像有点错误啊
不知道是不是我的图片没有放好   见谅
作者: 神梦无痕    时间: 2014-6-1 16:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 1617203657    时间: 2014-11-12 09:15
八方向的行走图怎么一闪一闪的啊
作者: 死月邪瞳    时间: 2014-11-29 13:00
有谁知道软件原角色的八方行走图素材吗?
作者: load_ing    时间: 2014-11-29 16:29
帅呆了
作者: 猩红之月    时间: 2014-12-27 19:25
楼主顺便找一下艾力克的八方行走图给配套一下呗{:2_277:}
作者: shencao    时间: 2015-1-9 03:37
LZ脚本好用!太感谢了!!!
不过我有个小问题,我主要用的多帧(没用8方向),读取存档的时候一开始会停在第2帧(系统默认?),然后迅速变回第1帧,虽然并不太影响不过一旦注意到就没法无视了,身为纠结星人想问问有没有办法解决?(又或者是我自己打开方式不对( `д´)
作者: 0o无疑o0    时间: 2015-3-8 17:00
楼主你好,你的范例很不错,只是有一点,人物在对角线行走时跨一格的实际距离是比直着走远一点点,但是移动速度却没有改变,所以看起来就好像斜着走的时候移动的很快,通过公共事件是能够解决不过会导致游戏略卡。能不能麻烦你再写一段让人物斜着移动的时候速度降低一丢丢的脚本,谢谢!
作者: 0o无疑o0    时间: 2015-3-8 17:09
shencao 发表于 2015-1-9 03:37
LZ脚本好用!太感谢了!!!
不过我有个小问题,我主要用的多帧(没用8方向),读取存档的时候一开始会停在 ...

我也遇到了这个问题,给角色加一个待机动画的png就可以解决了。如果你的人物没有待机动画,就把每一帧都做成站立状态的放到characters文件夹里。ps.前提是脚本里要使用lz的待机动画插件。
作者: shencao    时间: 2015-3-8 18:56
0o无疑o0 发表于 2015-3-8 17:09
我也遇到了这个问题,给角色加一个待机动画的png就可以解决了。如果你的人物没有待机动画,就把每一帧都 ...


我待机设定的是一段时间后待机,主要我是想把待机姿势当彩蛋的,就不想角色一直保持这样wwwwww 其实看久了我已经习惯了哈哈~稍微动一下也满萌的,你不说这是BUG别人说不定不会感觉到wwwww
谢谢你的回复~!下次我会用你的方法(这次我大概就这样了XD
作者: lirn    时间: 2015-5-15 17:43
本帖最后由 lirn 于 2015-5-16 17:01 编辑

倒是有个小问题。那就是我用事件更改NPC的图像无效?

是开启了待机动画之后,用移动更改事件角色无效,一旦更改之后会马上复原。
作者: acv255    时间: 2015-8-28 18:59
好东西 收下了。
作者: 人形丿星薇    时间: 2015-9-11 09:47
_(:_」 ∠)_来叫个使用报告……虽然说挖坟是不好的……嗯……打扰了【
作者: 渴死了    时间: 2015-12-11 04:37
本帖最后由 渴死了 于 2015-12-11 05:12 编辑


行走图会被遮住,这个要怎么办呢?

还有那个屏蔽插件。
「-」这个符号可以放到标签后吗?不知为什么感觉放到后面的话加符号会快不少(。◕∀◕。)

待机图要怎么随机呢?
两种随机。
一:等待2秒,更换行走图1或2或3.随机「看书」「玩手机」「东张西望」   相似类 比较休闲
二:等待1秒,行走图1,等了2秒,行走图2。只等1秒的话,行走图「抽烟」,2秒「拔剑」   递进式 越来越火大什么的。


还有就是玩家自己执着的撞墙时,队友比起踏步动画改成待机比较好。

不知要怎么做……\\((( ゚д゚)))?
作者: aa838320582    时间: 2016-6-16 23:13
不好意思啊挖个坟……
请问楼主大大,事件NPC的踏步动画无效的BUG修改了吗?
作者: aa838320582    时间: 2016-7-30 21:17
aa838320582 发表于 2016-6-16 23:13
不好意思啊挖个坟……
请问楼主大大,事件NPC的踏步动画无效的BUG修改了吗? ...

……啊再补充一下,进到一个新地图之后会踏步一下是bug吗
作者: 天风    时间: 2016-8-16 06:40
请问,
1,我设置一个随机移动的npc  也有合适的待机图  ,可是与他对话的时候,他不用待机图,而是行走图,怎么办?
         
2.配合VA的xas系统时,假设我用的是H@8#08,待机是H_w@8#08,进行攻击的时候,因为XAS要使用战斗图,所以,加入攻击图H@8#08_Hit  ,问题就来了,这个攻击图不一定每次都被正确调用,大多时候反而用的是行走图,也就是第一个H@8#08,这个又怎么办呢?
另外,我试过不用待机脚本,就正确了。
作者: 骷髅岛遗老    时间: 2017-8-18 12:26
{:2_272:}大佬把第一个八方向脚本移到另一个工程内,往左下方移动时角色消失怎么破
作者: 黑雪哲也    时间: 2023-7-2 19:09
雖然已經過了很久,但仍然想感謝大大給我們帶來這麼強力的腳本!




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