Project1

标题: 任意调用即时消息 [打印本页]

作者: mariofans    时间: 2015-7-8 19:23
标题: 任意调用即时消息
本帖最后由 mariofans 于 2015-7-10 10:28 编辑

写了这个小玩意,也是从6R随便找到的脚本里面改良出来的。
可以实现渐变消息和移动消息,具体见范例。
范例里面只给了从上往下拉,在地图上调用,
其实也可以实现从下往上拉(两个速度都写负的),在任何Scene里都可以调用。
给了一套默认模板,默认模板可以根据自己喜好改,也可以在调用的时候改写模板。
利用全局变量去除了F12出错的BUG
经测试,XP,VX,VA都可正常调用。
(写的很蠢,也不简便,反正只要能用就行了嘛= =|||)
  1. #==============================================================================
  2. # ■ Graphics
  3. #------------------------------------------------------------------------------
  4. #  可以提示所有文本,支持所有场景显示。
  5. #------------------------------------------------------------------------------
  6. #   作者:你最珍贵
  7. #   修改者:马里奥收藏家
  8. #
  9. #   日期:2015-7-8
  10. #
  11. #   使用方法:Graphics.tips("")
  12. #
  13. #   版权说明:转载请保留作者信息,谢谢。
  14. #==============================================================================

  15. class << Graphics
  16.   #--------------------------------------------------------------------------
  17.   # ● 常量定义
  18.   #
  19.   #    速度什么的可以是正数也可以是负数(负数就是相反效果)。
  20.   #    方式除了1和2不要填其它的,否则无效。
  21.   #    移动范围既可以指坐标的改变范围也可以指不透明度的改变范围。
  22.   #    速度既可以指坐标的改变速度也可以指不透明度的改变速度。
  23.   #    出现的速度和消失的速度可以不同步。
  24.   #    要改颜色的话两个颜色都必须填,不能写nil。
  25.   #
  26.   #--------------------------------------------------------------------------
  27.   Tips_x          =  0                            # 默认位置
  28.   Tips_y          =  0                            # 默认位置
  29.   Tips_width      =  640                          # 底图宽度
  30.   Tips_height     =  32                           # 底图高度
  31.   Tips_Color      =  Color.new(0,0,0,180)         # 底图颜色
  32.   Tips_FontColor  =  Color.new(255,255,255,255)   # 文字颜色
  33.   Tips_type       =  1                            # 显示方式
  34.                                                   #(1移动2淡入淡出)
  35.   Tips_opacity    =  255                          # 底图透明
  36.   Tips_ShowTime   =  1                            # 显示速度
  37.   Tips_StopTime   =  60                           # 停留时间
  38.   Tips_HideTime   =  1                            # 消失速度
  39.   Tips_MoveSpace  =  32                           # 移动范围
  40.   #---------------------------------------------------------------------------
  41.   # ● 提示文本
  42.   #---------------------------------------------------------------------------
  43.   def tips(text,x=nil,y=nil,opacity=nil,type=nil,show=nil,stop=nil,hide=nil,space=nil,color=Tips_FontColor,backcolor=Tips_Color)
  44.     x = Tips_x if x == nil
  45.     y = Tips_y if y == nil
  46.     opacity = Tips_opacity if opacity == nil
  47.     @tips_type = type if type != nil
  48.     @tips_type = Tips_type if type == nil
  49.     @tips_space = space if space != nil
  50.     @tips_space = Tips_MoveSpace if space == nil
  51.     @tips_showtime = show if show != nil
  52.     @tips_showtime = Tips_ShowTime if show == nil
  53.     @tips_stoptime = stop if stop != nil
  54.     @tips_stoptime = Tips_StopTime if stop == nil
  55.     @tips_hidetime = hide if hide != nil
  56.     @tips_hidetime = Tips_HideTime if hide == nil
  57.     tips_create_bitmap(x,y,opacity)
  58.     tips_draw_text(text,color,backcolor)
  59.     @tips_ox = x
  60.     @tips_oy = y
  61.     @tips_ax = x
  62.     @tips_ay = y - @tips_space
  63.     @tips_ay = y + @tips_space if @tips_showtime < 0
  64.     @tips_oo = opacity
  65.     @tips_ao = opacity + @tips_space
  66.     @tips_ao = opacity - @tips_space if @tips_showtime < 0
  67.     case @tips_type
  68.     when 1
  69.       @tips_stage = 1
  70.     when 2
  71.       @tips_stage = 11
  72.     end
  73.   end
  74.   #---------------------------------------------------------------------------
  75.   # ● 提示文本
  76.   #---------------------------------------------------------------------------
  77.   def tips_draw_text(text,color,backcolor)
  78.     @tips_bitmap.font.size = 22
  79.     @tips_bitmap.font.color = color
  80.     cw = @tips_bitmap.text_size(text).width
  81.     @tips_bitmap.fill_rect(0,0,Tips_width, Tips_height,backcolor)
  82.     @tips_bitmap.draw_text(0,0,Tips_width,Tips_height,text,1)
  83.   end
  84.   #---------------------------------------------------------------------------
  85.   # ● 创建精灵位图
  86.   #---------------------------------------------------------------------------
  87.   def tips_create_bitmap(x,y,opacity)
  88.     if @tips_sprite.nil? or @tips_sprite.disposed?
  89.       @tips_sprite = Sprite.new
  90.       @tips_sprite.z = 600
  91.       @tips_bitmap = Bitmap.new(Tips_width,Tips_height)
  92.       @tips_sprite.bitmap = @tips_bitmap
  93.     end
  94.     @tips_sprite.x = x
  95.     case @tips_type
  96.     when 1
  97.       @tips_sprite.y = y - @tips_space
  98.       @tips_sprite.y = y + @tips_space if @tips_showtime < 0
  99.     when 2
  100.       @tips_sprite.y = y
  101.     end
  102.     @tips_sprite.opacity = opacity
  103.   end
  104.   #---------------------------------------------------------------------------
  105.   # ● 刷新提示信息
  106.   #---------------------------------------------------------------------------
  107.   alias tips_update update unless $Graphics_Tips_Script_Used
  108.   def update
  109.     tips_update
  110.     unless @tips_sprite.nil? or @tips_sprite.disposed?
  111.       case @tips_stage
  112.       when 1
  113.         if @tips_showtime > 0
  114.           @tips_sprite.y += @tips_showtime if @tips_sprite.y < @tips_oy
  115.           @tips_stage += 1 if @tips_sprite.y >= @tips_oy
  116.         elsif @tips_showtime < 0
  117.           @tips_sprite.y += @tips_showtime if @tips_sprite.y > @tips_oy
  118.           @tips_stage += 1 if @tips_sprite.y <= @tips_oy
  119.         else
  120.           @tips_sprite.y = @tips_oy
  121.           @tips_stage += 1
  122.         end
  123.       when 2
  124.         if @tips_stoptime and @tips_stoptime > 0
  125.           @tips_stoptime -= 1
  126.           @tips_stage += 1 if @tips_stoptime <= 0
  127.         end
  128.       when 3
  129.         if @tips_hidetime > 0
  130.           @tips_sprite.y -= @tips_showtime if @tips_sprite.y > @tips_ay
  131.           @tips_stage += 1 if @tips_sprite.y <= @tips_ay
  132.         elsif @tips_hidetime < 0
  133.           @tips_sprite.y -= @tips_showtime if @tips_sprite.y < @tips_ay
  134.           @tips_stage += 1 if @tips_sprite.y >= @tips_ay
  135.         else
  136.           @tips_sprite.y = @tips_ay
  137.           @tips_stage += 1
  138.         end
  139.       when 4
  140.         @tips_sprite.dispose
  141.         @tips_stage = 0
  142.       when 11
  143.         if @tips_showtime > 0
  144.           @tips_sprite.opacity += @tips_showtime if @tips_sprite.opacity < @tips_ao
  145.           @tips_stage += 1 if @tips_sprite.opacity >= @tips_ao
  146.         elsif @tips_showtime < 0
  147.           @tips_sprite.opacity += @tips_showtime if @tips_sprite.opacity > @tips_ao
  148.           @tips_stage += 1 if @tips_sprite.opacity <= @tips_ao
  149.         else
  150.           @tips_sprite.opacity = @tips_ao
  151.           @tips_stage += 1
  152.         end
  153.       when 12
  154.         if @tips_stoptime and @tips_stoptime > 0
  155.           @tips_stoptime -= 1
  156.           @tips_stage += 1 if @tips_stoptime <= 0
  157.         end
  158.       when 13
  159.         if @tips_hidetime > 0
  160.           @tips_sprite.opacity -= @tips_hidetime if @tips_sprite.opacity > @tips_oo
  161.           @tips_stage += 1 if @tips_sprite.opacity <= @tips_oo
  162.         elsif @tips_hidetime < 0
  163.           @tips_sprite.opacity -= @tips_hidetime if @tips_sprite.opacity < @tips_oo
  164.           @tips_stage += 1 if @tips_sprite.opacity >= @tips_oo
  165.         else
  166.           @tips_sprite.opacity = @tips_oo
  167.           @tips_stage += 1
  168.         end
  169.       when 14
  170.         @tips_sprite.dispose
  171.         @tips_stage = 0
  172.       end
  173.     end
  174.   end
  175. end

  176. $Graphics_Tips_Script_Used = true
复制代码
范例:pan.baidu.com/s/1c0IwdWW
作者: 怪蜀黍    时间: 2015-7-9 08:51
本帖最后由 怪蜀黍 于 2015-7-9 16:24 编辑

请补充注明原脚本来源喵
召唤@你最珍贵 求问来源喵呜  
作者: 你最珍贵    时间: 2015-7-9 21:04
怎么变得这么长了。。。
作者: chd114    时间: 2015-7-9 21:08
这不是橙光。。。如果无法提供来源你就不要写改编。。。之前在素材区就被坑了一把。。。因为背景bg无法给出提取的游戏就被开水了




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