Project1

标题: VA角色遮挡半透明 [打印本页]

作者: Mr.Jin    时间: 2020-4-21 13:23
标题: VA角色遮挡半透明
  1. # By Lanza Schneider
  2. # VA Character anti-cover

  3. class Sprite_Character < Sprite_Base
  4.   ANTICOVER_OPACITY = 127       # 被遮挡部分的不透明度
  5.   ANTICOVER_Z       = 1048576   # 绘制被遮挡部分精灵的Zindex
  6.   
  7.   alias :initialize_lz20200421 :initialize
  8.   def initialize(*args)
  9.     @anticover_sprite = Sprite.new
  10.     initialize_lz20200421 *args
  11.   end
  12.   
  13.   alias :dispose_lz20200421 :dispose
  14.   def dispose(*args)
  15.     dispose_lz20200421 *args
  16.     if @anticover_sprite
  17.       @anticover_sprite.dispose
  18.       @anticover_sprite = nil
  19.     end
  20.   end
  21.   
  22.   alias :update_lz20200421 :update
  23.   def update(*args)
  24.     update_lz20200421 *args
  25.     update_anticover
  26.     @anticover_sprite.opacity, @anticover_sprite.z = ANTICOVER_OPACITY, ANTICOVER_Z
  27.   end
  28.   
  29.   anticover_code = ''
  30.   (Sprite.instance_methods - Sprite.methods).each do |symbol|
  31.     symbol = symbol.to_s
  32.     if symbol.include?('=')
  33.       anticover_code += "@anticover_sprite.#{symbol}#{symbol.chop}\n"
  34.     end
  35.   end
  36.   eval "def update_anticover\n#{anticover_code}end\n"
  37. end
复制代码


效果:




作者: Nil2018    时间: 2020-4-21 14:41
太醋虾了,兼容性也很高,请问可商用吗?
作者: PLeaseS    时间: 2020-4-21 16:44
太强了dalao
请问可以修改吗




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