Project1

标题: 关于遮盖动画的问题 [打印本页]

作者: rubygomax    时间: 2007-8-18 23:45
标题: 关于遮盖动画的问题
最近下了主站的ARPG范例"神迹时代",发现里面人物射箭的动作是用动画做出来的,
但这样会有一个问题,就是在遮蔽物下发动攻击,譬如树丛里,人就会浮出来...
有没有可能将地图元件也能遮盖动画?
希望有人能指点一下~感激! [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: rubygomax    时间: 2007-8-18 23:45
标题: 关于遮盖动画的问题
最近下了主站的ARPG范例"神迹时代",发现里面人物射箭的动作是用动画做出来的,
但这样会有一个问题,就是在遮蔽物下发动攻击,譬如树丛里,人就会浮出来...
有没有可能将地图元件也能遮盖动画?
希望有人能指点一下~感激! [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 黑暗之神    时间: 2007-8-20 01:34
被景物遮盖,被动画对象下面的事件遮盖,将此段插入main前
  1. module RPG
  2. class Sprite < ::Sprite
  3.    def animation_set_sprites(sprites, cell_data, position)
  4.      for i in 0..15
  5.        sprite = sprites[i]
  6.        pattern = cell_data[i, 0]
  7.        if sprite == nil or pattern == nil or pattern == -1
  8.          sprite.visible = false if sprite != nil
  9.          next
  10.        end
  11.        sprite.visible = true
  12.        sprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192)
  13.        if position == 3
  14.          if self.viewport != nil
  15.            sprite.x = self.viewport.rect.width / 2
  16.            sprite.y = self.viewport.rect.height - 160
  17.          else
  18.            sprite.x = 320
  19.            sprite.y = 240
  20.          end
  21.        else
  22.          sprite.x = self.x - self.ox + self.src_rect.width / 2
  23.          sprite.y = self.y - self.oy + self.src_rect.height / 2
  24.          sprite.y -= self.src_rect.height / 4 if position == 0
  25.          sprite.y += self.src_rect.height / 4 if position == 2
  26.        end
  27.        sprite.x += cell_data[i, 1]
  28.        sprite.y += cell_data[i, 2]
  29.        sprite.z = sprite.y + 60
  30.        sprite.ox = 96
  31.        sprite.oy = 96
  32.        sprite.zoom_x = cell_data[i, 3] / 100.0
  33.        sprite.zoom_y = cell_data[i, 3] / 100.0
  34.        sprite.angle = cell_data[i, 4]
  35.        sprite.mirror = (cell_data[i, 5] == 1)
  36.        sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
  37.        sprite.blend_type = cell_data[i, 7]
  38.      end
  39.    end
  40. end
  41. end
复制代码

作者: rubygomax    时间: 2007-8-20 04:16
{/gg}这跟我希望的效果有些出入,我是希望在地图上发动动画时也能被地图元件遮蔽
像在树从 草丛等等设定遮蔽(优先级)的地方发动动画也能像主角被遮住那样...
作者: 黑暗之神    时间: 2007-8-20 13:06
这个就是在树下或者建筑下被遮盖的动画 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: rubygomax    时间: 2007-8-20 19:35
{/gg}是我整合有误,难怪弄不出来,现在可以了,感谢~




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