Project1

标题: 给全部的文字加上阴影 [打印本页]

作者: 忧郁    时间: 2006-6-23 17:50
标题: 给全部的文字加上阴影
效果图:

很明显文字下面加上阴影使整个文字都很有立体感

也不知道发没发过,反正觉的还算有用的

原出处:http://www.geocities.jp/raisefield/rgss/shadow_txt.html

脚本内容:
  1. =begin
  2. #==============================================================================
  3. # ■ 阴影文字表示 Ver 1.00
  4. #==============================================================================
  5.  製作者 らい☆
  6.   
  7.   原出处:http://www.geocities.jp/raisefield/rgss/shadow_txt.html

  8.  
  9.   翻译:忧郁的涟漪


  10. 使整个游戏的文字表示全部变成影子文字。
  11.   在重写损失表示的时候,需要一部分重新写
  12.   
  13. =end

  14. #==============================================================================
  15. # ■ Bitmap扩充项
  16. #------------------------------------------------------------------------------
  17. #  给Bitmap项追加新的机能。
  18. #==============================================================================
  19. class Bitmap
  20.   #--------------------------------------------------------------------------
  21.   # ● 阴影文字的描绘
  22.   #--------------------------------------------------------------------------
  23.   if !method_defined?("draw_text_original")
  24.     alias draw_text_original draw_text
  25.   end
  26.   def draw_text(x, y, width = 0, height = 0, str = "", align = 0)
  27.     last_color = font.color.dup
  28.     font.color = Color.new( 0, 0, 0,last_color.alpha)
  29.     case x
  30.     when Numeric
  31.       draw_text_original(x+1, y+1, width, height, str, align)
  32.       font.color = last_color
  33.       draw_text_original(x, y, width, height, str, align)
  34.     when Rect
  35.       rect  = x
  36.       str   = y
  37.       align = width
  38.       shadow_rect = x.dup
  39.       shadow_rect.x += 1
  40.       shadow_rect.y += 1
  41.       draw_text_original( shadow_rect, str, align)
  42.       font.color = last_color
  43.       draw_text_original( rect, str, align)
  44.     end
  45.   end
  46. end

  47. # 重新写的样品↓

  48. module RPG
  49.   class Sprite < ::Sprite
  50.     def damage(value, critical)
  51.       dispose_damage
  52.       if value.is_a?(Numeric)
  53.         damage_string = value.abs.to_s
  54.       else
  55.         damage_string = value.to_s
  56.       end
  57.       bitmap = Bitmap.new(160, 48)
  58.       bitmap.font.name = "Arial Black"
  59.       bitmap.font.size = 32
  60.       bitmap.font.color.set(0, 0, 0)
  61.       bitmap.draw_text_original(-1, 12-1, 160, 36, damage_string, 1) # 这里
  62.       bitmap.draw_text_original(+1, 12-1, 160, 36, damage_string, 1) # 这里 
  63.       bitmap.draw_text_original(-1, 12+1, 160, 36, damage_string, 1) # 这里
  64.       bitmap.draw_text_original(+1, 12+1, 160, 36, damage_string, 1) # 这里
  65.       if value.is_a?(Numeric) and value < 0
  66.         bitmap.font.color.set(176, 255, 144)
  67.       else
  68.         bitmap.font.color.set(255, 255, 255)
  69.       end
  70.       bitmap.draw_text_original(0, 12, 160, 36, damage_string, 1) # 这里
  71.       if critical
  72.         bitmap.font.size = 20
  73.         bitmap.font.color.set(0, 0, 0)
  74.         bitmap.draw_text_original(-1, -1, 160, 20, "CRITICAL", 1) # 这里
  75.         bitmap.draw_text_original(+1, -1, 160, 20, "CRITICAL", 1) # 这里
  76.         bitmap.draw_text_original(-1, +1, 160, 20, "CRITICAL", 1) # 这里
  77.         bitmap.draw_text_original(+1, +1, 160, 20, "CRITICAL", 1) # 这里
  78.         bitmap.font.color.set(255, 255, 255)
  79.         bitmap.draw_text_original(0, 0, 160, 20, "CRITICAL", 1) # 这里
  80.       end
  81.       @_damage_sprite = ::Sprite.new(self.viewport)
  82.       @_damage_sprite.bitmap = bitmap
  83.       @_damage_sprite.ox = 80
  84.       @_damage_sprite.oy = 20
  85.       @_damage_sprite.x = self.x
  86.       @_damage_sprite.y = self.y - self.oy / 2
  87.       @_damage_sprite.z = 3000
  88.       @_damage_duration = 40
  89.     end
  90.   end
  91. end
复制代码



作者: 忧郁    时间: 2006-6-23 17:50
标题: 给全部的文字加上阴影
效果图:

很明显文字下面加上阴影使整个文字都很有立体感

也不知道发没发过,反正觉的还算有用的

原出处:http://www.geocities.jp/raisefield/rgss/shadow_txt.html

脚本内容:
  1. =begin
  2. #==============================================================================
  3. # ■ 阴影文字表示 Ver 1.00
  4. #==============================================================================
  5.  製作者 らい☆
  6.   
  7.   原出处:http://www.geocities.jp/raisefield/rgss/shadow_txt.html

  8.  
  9.   翻译:忧郁的涟漪


  10. 使整个游戏的文字表示全部变成影子文字。
  11.   在重写损失表示的时候,需要一部分重新写
  12.   
  13. =end

  14. #==============================================================================
  15. # ■ Bitmap扩充项
  16. #------------------------------------------------------------------------------
  17. #  给Bitmap项追加新的机能。
  18. #==============================================================================
  19. class Bitmap
  20.   #--------------------------------------------------------------------------
  21.   # ● 阴影文字的描绘
  22.   #--------------------------------------------------------------------------
  23.   if !method_defined?("draw_text_original")
  24.     alias draw_text_original draw_text
  25.   end
  26.   def draw_text(x, y, width = 0, height = 0, str = "", align = 0)
  27.     last_color = font.color.dup
  28.     font.color = Color.new( 0, 0, 0,last_color.alpha)
  29.     case x
  30.     when Numeric
  31.       draw_text_original(x+1, y+1, width, height, str, align)
  32.       font.color = last_color
  33.       draw_text_original(x, y, width, height, str, align)
  34.     when Rect
  35.       rect  = x
  36.       str   = y
  37.       align = width
  38.       shadow_rect = x.dup
  39.       shadow_rect.x += 1
  40.       shadow_rect.y += 1
  41.       draw_text_original( shadow_rect, str, align)
  42.       font.color = last_color
  43.       draw_text_original( rect, str, align)
  44.     end
  45.   end
  46. end

  47. # 重新写的样品↓

  48. module RPG
  49.   class Sprite < ::Sprite
  50.     def damage(value, critical)
  51.       dispose_damage
  52.       if value.is_a?(Numeric)
  53.         damage_string = value.abs.to_s
  54.       else
  55.         damage_string = value.to_s
  56.       end
  57.       bitmap = Bitmap.new(160, 48)
  58.       bitmap.font.name = "Arial Black"
  59.       bitmap.font.size = 32
  60.       bitmap.font.color.set(0, 0, 0)
  61.       bitmap.draw_text_original(-1, 12-1, 160, 36, damage_string, 1) # 这里
  62.       bitmap.draw_text_original(+1, 12-1, 160, 36, damage_string, 1) # 这里 
  63.       bitmap.draw_text_original(-1, 12+1, 160, 36, damage_string, 1) # 这里
  64.       bitmap.draw_text_original(+1, 12+1, 160, 36, damage_string, 1) # 这里
  65.       if value.is_a?(Numeric) and value < 0
  66.         bitmap.font.color.set(176, 255, 144)
  67.       else
  68.         bitmap.font.color.set(255, 255, 255)
  69.       end
  70.       bitmap.draw_text_original(0, 12, 160, 36, damage_string, 1) # 这里
  71.       if critical
  72.         bitmap.font.size = 20
  73.         bitmap.font.color.set(0, 0, 0)
  74.         bitmap.draw_text_original(-1, -1, 160, 20, "CRITICAL", 1) # 这里
  75.         bitmap.draw_text_original(+1, -1, 160, 20, "CRITICAL", 1) # 这里
  76.         bitmap.draw_text_original(-1, +1, 160, 20, "CRITICAL", 1) # 这里
  77.         bitmap.draw_text_original(+1, +1, 160, 20, "CRITICAL", 1) # 这里
  78.         bitmap.font.color.set(255, 255, 255)
  79.         bitmap.draw_text_original(0, 0, 160, 20, "CRITICAL", 1) # 这里
  80.       end
  81.       @_damage_sprite = ::Sprite.new(self.viewport)
  82.       @_damage_sprite.bitmap = bitmap
  83.       @_damage_sprite.ox = 80
  84.       @_damage_sprite.oy = 20
  85.       @_damage_sprite.x = self.x
  86.       @_damage_sprite.y = self.y - self.oy / 2
  87.       @_damage_sprite.z = 3000
  88.       @_damage_duration = 40
  89.     end
  90.   end
  91. end
复制代码



作者: EEQP    时间: 2006-6-23 18:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: 亿万星辰    时间: 2006-6-24 04:40
猫子之前弄过  {/fd}
作者: 柳柳    时间: 2006-6-24 05:10
嗯,之前出过教学,因为黑剑里面就用了这个了
除了这个还有勾边和渐变,都出过教学{/wx}
作者: 九泪    时间: 2006-6-24 05:20
不错,恩。翻译脚本也是锻炼哦
作者: 忧郁    时间: 2006-6-24 06:06
{/ll}为什么我翻译过来的脚本都是别人出过的~
作者: CHAR工作室    时间: 2006-7-2 20:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: CHAR工作室    时间: 2006-7-2 20:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: 血腥蓝    时间: 2006-7-3 01:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: friday5xue    时间: 2006-7-4 17:21
以下引用忧郁于2006-6-23 22:06:41的发言:

为什么我翻译过来的脚本都是别人出过的~

因为世界很大嘛~~~~
作者: ikki    时间: 2006-7-5 20:55
{/gg}LZ翻译速度要提高一下了,要不然又会在别人出完后出哦。




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