Project1

标题: 请问行走图怎么排 [打印本页]

作者: 星雨空也    时间: 2012-7-21 20:22
标题: 请问行走图怎么排
6R下了好多张RO行走图,每一张都是一个人物4*4的,VA要3*4的,只好删掉一组,但是在地图上显示时,人物又比地图高出很多,于是又该成96*32*3*4的图,但走起来一跳一跳的,啊~~~~~我要疯了,折腾了一个下午,电脑都要烧了,哪位大大有什么简便方法或者窍门么?
作者: 铅笔描绘的思念    时间: 2012-7-21 21:51
本帖最后由 铅笔描绘的思念 于 2012-7-23 13:41 编辑

httXP的行走图也是4x4的所以
  1. #########################
  2. #  XP 行走图显示法 v1.0 #
  3. #                       #
  4. #      BY 诡异の猫      #
  5. #########################
  6. class Game_Character
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对象
  9.   #--------------------------------------------------------------------------
  10.   alias old_ini initialize
  11.   def initialize
  12.     old_ini
  13.     @original_pattern = 2
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 矫正姿势
  17.   #--------------------------------------------------------------------------
  18.   def straighten
  19.     @pattern = 2 if @walk_anime or @step_anime
  20.     @anime_count = 0
  21.   end
  22. end

  23. class Sprite_Character < Sprite_Base
  24.   #--------------------------------------------------------------------------
  25.   # ● 更新传送源的位图
  26.   #--------------------------------------------------------------------------
  27.   def update_bitmap
  28.     if @tile_id != @character.tile_id or
  29.        @character_name != @character.character_name or
  30.        @character_index != @character.character_index
  31.       @tile_id = @character.tile_id
  32.       @character_name = @character.character_name
  33.       @character_index = @character.character_index
  34.       if @tile_id > 0
  35.         sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
  36.         sy = @tile_id % 256 / 8 % 16 * 32;
  37.         self.bitmap = tileset_bitmap(@tile_id)
  38.         self.src_rect.set(sx, sy, 32, 32)
  39.         self.ox = 16
  40.         self.oy = 32
  41.       else
  42.         self.bitmap = Cache.character(@character_name)
  43.         sign = @character_name[/^[\!\$]./]
  44.         if sign != nil and sign.include?(')
  45.           @cw = bitmap.width / 4
  46.           @ch = bitmap.height / 4
  47.         else
  48.           @cw = bitmap.width / 16
  49.           @ch = bitmap.height / 8
  50.         end
  51.         self.ox = @cw / 2
  52.         self.oy = @ch
  53.       end
  54.     end
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 更新传送源矩形
  58.   #--------------------------------------------------------------------------
  59.   def update_src_rect
  60.     if @tile_id == 0
  61.       index = @character.character_index
  62.       pattern = @character.pattern < 4 ? @character.pattern : 1
  63.       sx = (index % 4 * 4 + pattern) * @cw
  64.       sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
  65.       self.src_rect.set(sx, sy, @cw, @ch)
  66.     end
  67.   end
  68. end
复制代码

作者: 星雨空也    时间: 2012-7-24 23:44
谢谢铅笔君,现在已经好了,不管他了




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