楼主: rmav

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

[复制链接]
梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
 楼主| 发表于 2013-12-28 23:16:54 | 显示全部楼层
本帖最后由 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
#==============================================================================


[pre lang="ruby" line="1"]
#encoding:utf-8
#==============================================================================
#   ■ 人物动态待机
#                  (仅支持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
#==============================================================================
$imported ||= {}
$imported[:rmav_walk_wait] = true
module Rmav
    #--------待机选项---------#
    Opt_wait={
                           #停下多久播放待机动画,默认为90约1.5秒左右
        stop_count: 90,    #推荐取值范围12至120
        play_speed: 0.5    #播放速度,越大越快
    }
end



class Game_CharacterBase
  alias_method :characterBase_init_org_rmav_2, :initialize
  def initialize
    characterBase_init_org_rmav_2
    init_waiting
  end
  
  def init_waiting(wait_enable=false)
    @wait_enable=wait_enable
    @waiting_name=nil
    @character_name_org=nil
    @got_waiting_name=nil
    @wait_anime=false
  end
  
  def waiting?
    @wait_enable&&stopping? &&!@character_name.empty? \
    && @stop_count>Rmav::Opt_wait[:stop_count]
  end
  
  def waiting_play?
    waiting? && @got_waiting_name
  end
  #--------------------------------------------------------------------------
  # ● 更新等待、行走
  #--------------------------------------------------------------------------
  
  def update_waiting_walking
    if waiting?
      if @got_waiting_name
        @character_name=@waiting_name
      elsif @got_waiting_name==nil
        @got_waiting_name=false
        @character_name=~%r{(.+)\@\d{1,2}\#\d{1,2}(\%\d{1,2})?}
        if $1
          @waiting_name=$1+"_w"
          waiting_name_esc = Regexp.escape @waiting_name.downcase
          files=Rmav.loadFolder("Graphics/Characters/")
          files.each{|f|
            found = f[/\A#{waiting_name_esc}@\d{1,2}#\d{1,2}.*/]
            if found
              @waiting_name.replace f
              @got_waiting_name=true
              break
            end
          }
          @character_name_org=@character_name
          @character_name=@waiting_name if @got_waiting_name
        end
      end
    else
      @character_name=@character_name_org if @character_name_org
    end
  end

  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias_method :update_org_rmav_2,:update
  def update
    update_waiting_walking
    update_org_rmav_2
  end

  #--------------------------------------------------------------------------
  # ● 更新步行/踏步动画
  #--------------------------------------------------------------------------
  alias_method :update_animation_org_rmav_2,:update_animation
  def update_animation
    if waiting_play?
      @wait_anime=true
    else
      @wait_anime=false
    end
    update_animation_org_rmav_2
  end
  
  #--------------------------------------------------------------------------
  # ● 更新动画计数
  #--------------------------------------------------------------------------
  alias_method :update_anime_count_org_rmav_2,:update_anime_count
  def update_anime_count
    if @wait_anime
      @anime_count += Rmav::Opt_wait[:play_speed]
      return
    end
    update_anime_count_org_rmav_2
  end
  
  #--------------------------------------------------------------------------
  # ● 更新动画图案
  #--------------------------------------------------------------------------
  alias_method :update_anime_pattern_org_rmav_2,:update_anime_pattern
  def update_anime_pattern
    if @wait_anime
      @pattern = (@pattern + 1) % (@fmt_sign?@fmt_sign[1]:4)
      return
    end
    update_anime_pattern_org_rmav_2
  end
end

class Game_Player
  alias_method :initialize_org_rmav_2,:initialize
  def initialize
    initialize_org_rmav_2
    @wait_enable=true
  end

  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  alias_method :refresh_org_rmav_2,:refresh
  def refresh   
    init_waiting(true)
    refresh_org_rmav_2
  end
  
end

class Game_Follower
  alias_method :follower_initialize_org_rmav_2, :initialize
  def initialize(member_index, preceding_character)
    follower_initialize_org_rmav_2(member_index, preceding_character)
    @wait_enable=true
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  alias_method :refresh_org_rmav_2,:refresh
  def refresh   
    init_waiting(true)
    refresh_org_rmav_2
  end

end

[/pre]


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

beauty_w@8#4(.png

回复

使用道具 举报

梦石
0
星屑
50
在线时间
250 小时
注册时间
2011-8-16
回帖
163
发表于 2013-12-29 17:09:29 | 显示全部楼层
楼主跟新真快-3-
——————
回复

使用道具 举报

梦石
0
星屑
50
在线时间
250 小时
注册时间
2011-8-16
回帖
163
发表于 2013-12-29 17:28:40 | 显示全部楼层
本帖最后由 sszny 于 2013-12-29 17:30 编辑

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


0.3+待机

之前0.2没问题啊

点评

不好意思,顶楼的代码没复制完整,现在应该没问题了。请重新复制下  发表于 2013-12-29 18:01
——————
回复

使用道具 举报

梦石
0
星屑
50
在线时间
250 小时
注册时间
2011-8-16
回帖
163
发表于 2013-12-29 18:58:15 | 显示全部楼层
rmav 发表于 2013-12-28 23:16
本帖测试用的待机图片,是个4帧的,不知道是不是真正的待机图。反正能放就是了。若有6帧以上的应该会好些
...

行走没问题了

待机错误
第31行  
发生encoding::UndefinedConversionError。
“\xB6” from ASCII-8BIT to UTF-8

点评

这个问题应该搞定了,看1楼,第2个示例工程  发表于 2014-1-5 22:58
已更新,但不是解决你这个错误。你这个错误好像是编码问题,请重新复制一遍,点击代码栏右上角复制按钮不要用手选复制。  发表于 2013-12-29 20:11
——————
回复

使用道具 举报

梦石
0
星屑
50
在线时间
250 小时
注册时间
2011-8-16
回帖
163
发表于 2013-12-29 20:29:12 | 显示全部楼层
楼主 弄个范例下载吧030
如果你那里运行ok的话,可能是我系统缺什么文件了,我自己再去慢慢找找看030
——————
回复

使用道具 举报

梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
 楼主| 发表于 2013-12-29 21:04:44 | 显示全部楼层
本帖最后由 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)

点评

我在干净的系统上,把RTP拷过去,测试没问题。  发表于 2013-12-30 15:46
我去水世界让别人先验证下-3-  发表于 2013-12-30 13:56
嗯 66rpg下的文件,全英文路径。你传给别人看看。  发表于 2013-12-30 13:53
回复

使用道具 举报

梦石
0
星屑
50
在线时间
250 小时
注册时间
2011-8-16
回帖
163
发表于 2013-12-30 12:51:26 | 显示全部楼层
可能我这里就是缺什么编程语言包
发现除了待机 ,其他整合也不能用

不过主系统能用我很欣慰了

点评

不能用时,有什么提示呢?  发表于 2013-12-30 13:34
示例工程也不行吗??难道我要传一份dll上来。你的VA安装包是RPGVXAce_Setup_Full.exe吗?没有改过什么默认文件吧?路径是全英文的吗  发表于 2013-12-30 13:32
——————
回复

使用道具 举报

梦石
0
星屑
50
在线时间
111 小时
注册时间
2013-12-23
回帖
140
发表于 2013-12-30 17:32:25 | 显示全部楼层
非常不錯!可以用!
但是在放開方向鍵以後不會立馬播放待機動畫,出現尷尬的真空時期。不知LZ可不可以改成不按方向鍵就立馬播放待機動畫?
LZ真是大神啊!!我覺得此貼應被編輯到博物館裡!

点评

非常感谢,看看去~~  发表于 2013-12-30 20:21
我在別的網站上找到了一個又快又好的拼接圖片的方法,給LZ看看。 商业素材使用:行走图、地图快速拼接:http://v.youku.com/v_show/id_XMzc1MDE1MjQ=.html  发表于 2013-12-30 18:45
厉害哦,拼接这2个示范图片可费我老大劲了,他日有图画疑问会找你哦^_^  发表于 2013-12-30 18:04
嘿嘿~謝謝LZ!本人腳本渣~什麼也不懂~~測試過了,非常完美~謝謝LZ~~ps:本人會畫些圖,要是LZ做遊戲有什麼需要作為報答找我幫你畫吧~~  发表于 2013-12-30 17:54
你想一停下来就放,找到58行,把120(2秒)改成10,就行吧  发表于 2013-12-30 17:50
回复

使用道具 举报

梦石
0
星屑
50
在线时间
111 小时
注册时间
2013-12-23
回帖
140
发表于 2013-12-30 17:33:41 | 显示全部楼层
sszny 发表于 2013-12-30 12:51
可能我这里就是缺什么编程语言包
发现除了待机 ,其他整合也不能用

你是什麼問題?我這裡很好的說。
你來新建一個工程,再把範例放進工程里覆蓋試試。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
103 小时
注册时间
2013-12-12
回帖
182
 楼主| 发表于 2014-1-5 09:46:01 | 显示全部楼层
之前0.x版好像比较稳定了,更新到1.0,顶下。{:2_284:}
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部