查看: 4769|回复: 4

[已经解决] 如何设置行走图规格,我需要使用我自己规格的图片。

[复制链接]
梦石
0
星屑
50
在线时间
33 小时
注册时间
2011-6-15
回帖
11
发表于 2013-1-29 18:03:21 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 qq965858106 于 2013-2-1 14:42 编辑

{:2_32:}现在的系统用的图片规格是动画3帧,方向四个。
我想把帧数增多一点,因为3帧看起来太不流畅了。{:2_36:}
先说明我人物扣的有点大!{:2_30:}
梦石
0
星屑
50
在线时间
33 小时
注册时间
2011-6-15
回帖
11
 楼主| 发表于 2013-1-29 18:33:39 | 显示全部楼层
这个是我扣的行走图....
主角(分_右).jpg
回复

使用道具 举报

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-1-29 19:33:45 | 显示全部楼层
本帖最后由 Sion 于 2013-1-29 20:08 编辑

插入脚本,把你的行走图扩展成12*4的规格,上下左右参照游戏里的其他行走图。然后把你的12格行走图重命名,前面加个#,导入character文件夹。设置行走图的时候注意要选第一个区域。[pre lang="ruby" line="1"]class Sprite_Character < Sprite_Base
  #--------------------------------------------------------------------------
  # ● 设置角色的位图
  #--------------------------------------------------------------------------
  def set_character_bitmap
    self.bitmap = Cache.character(@character_name)
    sign = @character_name[/^[\!\$\#]./]
    if sign && sign.include?('#')
      @cw = bitmap.width / 12
      @ch = bitmap.height / 4
    elsif sign && sign.include?('$')
      @cw = bitmap.width / 3
      @ch = bitmap.height / 4
    else
      @cw = bitmap.width / 12
      @ch = bitmap.height / 8
    end
    self.ox = @cw / 2
    self.oy = @ch
  end
  #--------------------------------------------------------------------------
  # ● 更新源矩形
  #--------------------------------------------------------------------------
  def update_src_rect
    if @tile_id == 0
      index = @character.character_index
      if @character.character_name[0, 1] == '#'
        pattern = @character.pattern
        sx = (index % 12 + pattern) * @cw
        sy = (index + (@character.direction - 2) / 2) * @ch
      else
        pattern = @character.pattern < 3 ? @character.pattern : 1
        sx = (index % 4 * 3 + pattern) * @cw
        sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
      end
      self.src_rect.set(sx, sy, @cw, @ch)
    end
  end
end

class Game_CharacterBase
  #--------------------------------------------------------------------------
  # ● 更新动画图案
  #--------------------------------------------------------------------------
  def update_anime_pattern
    if !@step_anime && @stop_count > 0
      @pattern = @original_pattern
    else
      if @character_name[0, 1] == '#'
        @pattern = (@pattern + 1) % 12
      else
        @pattern = (@pattern + 1) % 4
      end
    end
  end
end[/pre]
差不多就是这样。
QQ截图20130129193242.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
33 小时
注册时间
2011-6-15
回帖
11
 楼主| 发表于 2013-1-30 08:50:34 | 显示全部楼层
{:2_42:}非常感谢sion为我敲这么长的一段代码,
我马上去好好研究一番。
我这经常电脑短网所以这会才能回复你。{:2_30:}
回复

使用道具 举报

梦石
0
星屑
50
在线时间
33 小时
注册时间
2011-6-15
回帖
11
 楼主| 发表于 2013-1-30 10:22:20 | 显示全部楼层
成功,不过我发现图片png格式才好。bmp 软件自己扣图不干净。
下面附动态图
test.gif
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部