Project1

标题: 如何不改变原来素材只将人物放大,并且移动速度变快 [打印本页]

作者: 奶茶灬点点    时间: 2012-7-13 11:22
标题: 如何不改变原来素材只将人物放大,并且移动速度变快
由于部分地图使用了很大的地图……发现和人物完全不匹配,可以直接将人物变大,并且移动的速度也变快吗?(或者说是4帧能走多格)求助撒~~~dsu_plus_rewardpost_czw
作者: liuziyuan201019    时间: 2012-7-13 11:47
把地图缩小吧= =
作者: liuziyuan201019    时间: 2012-7-13 12:34
本帖最后由 liuziyuan201019 于 2012-7-13 12:35 编辑

扩大行走图用XP很难吧……
最好还是把人物图片PS一下。那样虽然稍麻烦,单比脚本强多了。一个图片也就几百KB。
作者: 腐琴琴    时间: 2012-7-13 13:10
加速的话进地图的时候事件指令:设置移动路线——角色——更改移动速度
变大的话可以试试这个脚本……我也不记得是网上的哪里看到的……
  1. #==============================================================================
  2. # ■ Sprite_Character
  3. #------------------------------------------------------------------------------
  4. #  角色显示用脚本。监视 Game_Character 类的实例、
  5. # 自动变化脚本状态。
  6. #==============================================================================
  7. $变大比率 = 2
  8. class Sprite_Character < RPG::Sprite
  9.   #--------------------------------------------------------------------------
  10.   # ● 定义实例变量
  11.   #--------------------------------------------------------------------------
  12.   attr_accessor :character                # 角色
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化对像
  15.   #     viewport  : 查看端口
  16.   #     character : 角色 (Game_Character)
  17.   #--------------------------------------------------------------------------
  18.   def initialize(viewport, character = nil)
  19.     super(viewport)
  20.     @character = character
  21.     update
  22.   end
  23.   #--------------------------------------------------------------------------
  24.   # ● 更新画面
  25.   #--------------------------------------------------------------------------
  26.   def update
  27.     super
  28.   #--------------------------------------------------------------------------
  29.     self.zoom_x = self.zoom_y = $变大比率
  30.   #--------------------------------------------------------------------------
  31.     # 元件 ID、文件名、色相与现在的情况存在差异的情况下
  32.     if @tile_id != @character.tile_id or
  33.        @character_name != @character.character_name or
  34.        @character_hue != @character.character_hue
  35.       # 记忆元件 ID 与文件名、色相
  36.       @tile_id = @character.tile_id
  37.       @character_name = @character.character_name
  38.       @character_hue = @character.character_hue
  39.       # 元件 ID 为有效值的情况下
  40.       if @tile_id >= 384
  41.         self.bitmap = RPG::Cache.tile($game_map.tileset_name,
  42.           @tile_id, @character.character_hue)
  43.         self.src_rect.set(0, 0, 32, 32)
  44.         self.ox = 16
  45.         self.oy = 32
  46.       # 元件 ID 为无效值的情况下
  47.       else
  48.         self.bitmap = RPG::Cache.character(@character.character_name,
  49.           @character.character_hue)
  50.         @cw = bitmap.width / 4
  51.         @ch = bitmap.height / 4
  52.         self.ox = @cw / 2
  53.         self.oy = @ch
  54.       end
  55.     end
  56.     # 设置可视状态
  57.     self.visible = (not @character.transparent)
  58.     # 图形是角色的情况下
  59.     if @tile_id == 0
  60.       # 设置传送目标的矩形
  61.       sx = @character.pattern * @cw
  62.       sy = (@character.direction - 2) / 2 * @ch
  63.       self.src_rect.set(sx, sy, @cw, @ch)
  64.     end
  65.     # 设置脚本的坐标
  66.     self.x = @character.screen_x
  67.     self.y = @character.screen_y
  68.     self.z = @character.screen_z(@ch)
  69.     # 设置不透明度、合成方式、茂密
  70.     self.opacity = @character.opacity
  71.     self.blend_type = @character.blend_type
  72.     self.bush_depth = @character.bush_depth
  73.     # 动画
  74.     if @character.animation_id != 0
  75.       animation = $data_animations[@character.animation_id]
  76.       animation(animation, true)
  77.       @character.animation_id = 0
  78.     end
  79.   end
  80. end
复制代码





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