Project1

标题: 多动画显示脚本使图块遮挡动画无效了 [打印本页]

作者: 幻耶1    时间: 2015-2-12 13:38
标题: 多动画显示脚本使图块遮挡动画无效了
搜到一个让图块元件遮挡动画的方法(脚本如下),但是我还用了一个多动画显示的脚本,这个脚本使得元件遮挡动画无效了,求并存的解决方法!

请看工程:
遮挡动画.rar (189.14 KB, 下载次数: 96)





RUBY 代码复制
  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.  
  30. ################################################################
  31. sprite.z = sprite.y    # 和动画本体的Y挂钩
  32. #sprite.z = self.z    # 和调用者的Z一样
  33. # 如果位置是画面就和默认一样2000
  34. sprite.z = 2000 if position == 3
  35. ################################################################
  36.  
  37.         sprite.ox = 96
  38.         sprite.oy = 96
  39.         sprite.zoom_x = cell_data[i, 3] / 100.0
  40.         sprite.zoom_y = cell_data[i, 3] / 100.0
  41.         sprite.angle = cell_data[i, 4]
  42.         sprite.mirror = (cell_data[i, 5] == 1)
  43.         sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
  44.         sprite.blend_type = cell_data[i, 7]
  45.       end
  46.     end
  47.   end
  48. end

作者: 幻耶1    时间: 2015-2-15 10:28
很难吗?
作者: 幻耶1    时间: 2015-2-22 22:19
七天了哦
作者: 幻耶1    时间: 2015-2-25 21:39
哦~~接着又三天
作者: 幻耶1    时间: 2015-2-28 19:56
三天~~~~~
作者: 573932914    时间: 2015-3-1 20:54
改z值。
具体怎么改要翻脚本
把多动画的Z值改得很高超过图块就行
作者: 幻耶1    时间: 2015-3-3 14:29
573932914 发表于 2015-3-1 20:54
改z值。
具体怎么改要翻脚本
把多动画的Z值改得很高超过图块就行


sprite.z 改高改低了都没用啊,能否麻烦帮改一下我上传的工程?
作者: 幻耶1    时间: 2015-3-6 11:58
三天~~~~~
作者: Thylakoid    时间: 2015-3-7 22:06
搜了搜论坛和主站的相关内容,然后帮楼主换了一个多动画显示脚本:https://rpg.blue/thread-376687-1-1.html
结果什么都不用改,直接和图块遮挡共存了。
不过说句实在的,一切都要归功于造福大众的技术区。楼主附件中那两个脚本,我真不会整合,几经尝试都失败了。这次只能庆幸捡到了现成的。
替换后的工程如下,可以看到两者共存后的效果。
遮挡动画.rar (191.26 KB, 下载次数: 72)




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