Project1

标题: 问个xp行走图循环播放与设置移动路线脸向下左右上的问题 [打印本页]

作者: 89444640    时间: 2016-12-30 14:53
标题: 问个xp行走图循环播放与设置移动路线脸向下左右上的问题
本帖最后由 89444640 于 2016-12-30 14:58 编辑

情况是这样,因为默认素材限制,我做一些需要循环播放的小动作,用停止时动画来处理,只能画4帧。虽然现在技术好了点,连起来也不错,比如这个刚做的,

这是实际帧数

我本来预计是6~8帧,增加落地硬直与最高点延迟,甚至可加翻花两手交叉的动作,但是因为帧数限制,没法做因为但是4帧毕竟太少。
一旦需要做成这样的 比如晕倒的小鸡转

我使劲减少帧数还是得6帧才转的过来。
这时候调节运动就用到了
在移动规则 自定义中设置

更改图形 XX
脸向下
等待两帧
脸向左
等待两帧
脸向右
等待两帧
脸向上
等待两帧
更改图形 XX
脸向下
等待两帧
脸向左
等待两帧

这样的方法,
问题在于,一旦角色靠近对话,就会自动切换方向,然后就会出现对话的npc消失或者其他情况
目前占32*32格子的还好,边上我可以堵上npc。

但是一旦角色大了,就没法这么处理了
有什么办法可以解决
行走图超过4帧时候,不能用停止时动画,npc自动播放一些小动作,但是角色过去对话时候不会消失一下再出现的情况吗?

作者: yang1zhi    时间: 2016-12-30 21:55
本帖最后由 yang1zhi 于 2016-12-30 22:20 编辑

看他们说的有脚本可以设置帧数。


我试了下
在Sprite_Character脚本里
找到
      # 元件 ID 为无效值的情况下
      else
        self.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        @cw = bitmap.width / 4
        @ch = bitmap.height / 4
        self.ox = @cw / 2
        self.oy = @ch
####################
添加修改
      # 元件 ID 为无效值的情况下
      else
        if @character.character_name.include?("动画")
        self.bitmap = RPG::Cache.character(@character.character_name,
        @character.character_hue)
        @cw = bitmap.width / 8
        @ch = bitmap.height / 8
        self.ox = @cw / 4
        self.oy = @ch
          else
        self.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        @cw = bitmap.width / 4
        @ch = bitmap.height / 4
        self.ox = @cw / 2
        self.oy = @ch
        end
      end
    end
    # 设置可视状态


在Game_Character 2脚本里找到
      else
        # 更新图形
        @pattern = (@pattern + 1) % 4
###########
修改为
      else
        # 更新图形
        if @character.character_name.include?("动画")
          @pattern = (@pattern + 1) % 8
        else
        @pattern = (@pattern + 1) % 4
        end
      end
      # 清除动画计数

##################
这样行走图里带(动画)两字的都会按8帧计算。
作者: 89444640    时间: 2016-12-31 08:10
本帖最后由 89444640 于 2016-12-31 08:26 编辑
yang1zhi 发表于 2016-12-30 21:55
看他们说的有脚本可以设置帧数。


谢谢,
这个脚本目前限制了只能绘制成横向8纵向8,横向8循环播放吧?
如果我需要7帧或者6帧 是不是需要按照这个脚本在写成诸如
@cw = bitmap.width / 6
@ch = bitmap.height / 6
这样?
因为很多动作都无法确定素材的准确帧数
有的动作画8帧就多了,6帧或者7帧反而更好
而有的则是需要12甚至16帧循环播放
- -b
原谅我这做素材很随意的习惯吧
作者: yang1zhi    时间: 2016-12-31 13:03
本帖最后由 yang1zhi 于 2016-12-31 13:06 编辑
89444640 发表于 2016-12-31 08:10
谢谢,
这个脚本目前限制了只能绘制成横向8纵向8,横向8循环播放吧?
如果我需要7帧或者6帧 是不是需要按 ...


#这样你试一下有没有用,我没有行走图不好测试
#在动画后面写上帧数


Game_Character 2

      else
        # 更新图形
        if @character_name.include?("动画")
        zhenshu = /动画/.match(@character_name).post_match
        zhenshu = zhenshu.to_f
          @pattern = (@pattern + 1) % zhenshu
        else
        @pattern = (@pattern + 1) %( zhenshu/2.0)
        end
      end
      # 清除动画计数
###########################################
Sprite_Character

      # 元件 ID 为无效值的情况下
      else
        if @character.character_name.include?("动画")
        self.bitmap = RPG::Cache.character(@character.character_name,
        @character.character_hue)
        zhenshu = /动画/.match(@character.character_name).post_match
        zhenshu = zhenshu.to_f
        @cw = bitmap.width / zhenshu
        @ch = bitmap.height / zhenshu
        self.ox = @cw /( zhenshu/2.0)
        self.oy = @ch
          else
        self.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        @cw = bitmap.width / 4
        @ch = bitmap.height / 4
        self.ox = @cw / 2
        self.oy = @ch
        end
      end
    end
    # 设置可视状态

作者: 怪蜀黍    时间: 2016-12-31 15:26
为什么不去提问去提问?
作者: 89444640    时间: 2016-12-31 15:35
yang1zhi 发表于 2016-12-31 13:03
#这样你试一下有没有用,我没有行走图不好测试
#在动画后面写上帧数

设置成长宽相同的时候,可以正常播放
测试了单双数情况 都可以正常播放
但是

角色一旦移动就会出现这个


请测试一下
Project2.rar (195.08 KB, 下载次数: 62)

作者: 89444640    时间: 2017-1-10 00:25
本帖最后由 89444640 于 2017-1-10 00:31 编辑
89444640 发表于 2016-12-31 15:35
设置成长宽相同的时候,可以正常播放
测试了单双数情况 都可以正常播放
但是


那个还得帮我看一下,这长宽160*8帧的不能正常播放--b
6帧的可以,是什么原因呢?

那啥不好意思,我想起来了 好像名字不对orz 又按照以前习惯了
作者: 亿万星辰    时间: 2017-1-10 10:47
可以试试看自定义路线




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