Guest User

Untitled

a guest
Mar 14th, 2012
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 7.71 KB | None | 0 0
  1. #==============================================================================
  2. # š RGSS2_namepop Ver0.02
  3. # tomoaky (http://hikimoki.sakura.ne.jp/)
  4. #==============================================================================
  5. =begin
  6. =end
  7. module NEL
  8.   #Default text pop color
  9.   DEF_TEXT_COLOR = Color.new(255,255,255,255)
  10.   #Default text pop font size
  11.   DEF_TEXT_SIZE = 14
  12.   #Default text pop font
  13.   DEF_TEXT_FONT = "Myriad"
  14. end
  15.  
  16.  
  17. class Game_Interpreter
  18.   include NEL
  19.   def test_nel_textpop(*args)
  20.     if(args[0].is_a?(Hash))
  21.       p "true"
  22.       text, ev_id, time, size, color, font, bold, ital = args[0].get_values(:text,:event_id,:time,:size,:color,:font,:bold,:italic)
  23.     else
  24.       text, ev_id, time, size, color, font, bold, ital = *args
  25.     end
  26.     char = get_character(ev_id || 0)
  27.     return unless(char)
  28.     char.namepop_size = size  || DEF_TEXT_SIZE
  29.     char.namepop_color= color || DEF_TEXT_COLOR
  30.     char.namepop_time = time  || 60
  31.     char.namepop      = text  || ""
  32.     char.namepop_font = font || DEF_TEXT_FONT
  33.     char.namepop_bold = !!bold # // Convert to Bool
  34.     char.namepop_ital = !!ital
  35.   end
  36.  
  37.   def nel_textpop(text,ev_id=0,time=60,size=DEF_TEXT_SIZE,color=DEF_TEXT_COLOR)
  38.     if ev_id == -1
  39.       $game_player.namepop_size = size
  40.       $game_player.namepop_color = color
  41.       $game_player.namepop_time = time
  42.       $game_player.namepop = text
  43.     else
  44.       ev_id = self.event_id if ev_id == 0
  45.       $game_map.events[ev_id].namepop_size = size
  46.       $game_map.events[ev_id].namepop_color = color
  47.       $game_map.events[ev_id].namepop_time = time
  48.       $game_map.events[ev_id].namepop = text
  49.     end
  50.   end
  51.   def nel_change_font(ev_id = 0, font = DEF_TEXT_FONT, bold=false, ital=false)
  52.     if ev_id == -1
  53.       $game_player.namepop_font = font
  54.       $game_player.namepop_bold = bold
  55.       $game_player.namepop_ital = ital
  56.     else
  57.       ev_id = self.event_id if ev_id == 0
  58.       $game_map.events[ev_id].namepop_font = font
  59.       $game_map.events[ev_id].namepop_bold = bold
  60.       $game_map.events[ev_id].namepop_ital = ital
  61.     end
  62.   end
  63. end
  64. #==============================================================================
  65. # ¡ Game_Character
  66. #==============================================================================
  67. class Game_Character
  68.   #--------------------------------------------------------------------------
  69.   # œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•ϐ”
  70.   #--------------------------------------------------------------------------
  71.   attr_accessor :namepop                  # ƒ|ƒbƒvƒAƒbƒvƒeƒLƒXƒg
  72.   attr_accessor :namepop_size
  73.   attr_accessor :namepop_color
  74.   attr_accessor :namepop_time
  75.   attr_accessor :namepop_font
  76.   attr_accessor :namepop_bold
  77.   attr_accessor :namepop_ital
  78.  
  79.   #--------------------------------------------------------------------------
  80.  
  81.   #Do I really want this????
  82.   alias nel_font_type_init initialize
  83.   def initialize
  84.     @namepop_font = NEL::DEF_TEXT_FONT
  85.     @namepop_bold = false
  86.     @namepop_ital = false
  87. #~     @namepop_size = NEL::DEF_TEXT_SIZE
  88. #~     @namepop_color = NEL::DEF_TEXT_COLOR
  89.     nel_font_type_init
  90.   end
  91.  
  92. end
  93.  
  94. #==============================================================================
  95. # ¡ Game_Event
  96. #==============================================================================
  97. class Game_Event < Game_Character
  98.   #--------------------------------------------------------------------------
  99.   # œ ƒCƒxƒ“ƒgƒy[ƒW‚̃ZƒbƒgƒAƒbƒv
  100.   #--------------------------------------------------------------------------
  101.   alias tnpop_game_event_setup setup_page
  102.   def setup_page(new_page)
  103.     tnpop_game_event_setup(new_page)
  104.     if @list != nil
  105.       @namepop = $1 if /<namepop[ ](.*)>/i =~ @event.name
  106.       for list in @list
  107.         if list.code == 108
  108.           @namepop = $1 if /<namepop[ ](.*)>/i =~ list.parameters[0]
  109.           break
  110.         end
  111.       end
  112.     end
  113.   end
  114. end
  115.  
  116. #==============================================================================
  117. # ¡ Sprite_Character
  118. #==============================================================================
  119. class Sprite_Character < Sprite_Base
  120.   alias nel_textx_pop_initi initialize
  121.   def initialize(*args)
  122.     @timer = 0
  123.     nel_textx_pop_initi(*args)
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # œ ‰ð•ú
  127.   #--------------------------------------------------------------------------
  128.   alias tnpop_sprite_character_dispose dispose
  129.   def dispose
  130.     dispose_namepop
  131.     tnpop_sprite_character_dispose
  132.   end
  133.   #--------------------------------------------------------------------------
  134.   # œ ƒtƒŒ[ƒ€XV
  135.   #--------------------------------------------------------------------------
  136.   alias tnpop_sprite_character_update update
  137.   def update
  138.     tnpop_sprite_character_update
  139.     if @timer > 0
  140.       @timer -= 1
  141.       update_text_pos
  142.       if @timer <= 0
  143.         @namepop_sprite.visible = false
  144.         @namepop_sprite.opacity = 255 #Reset opacity just in case
  145.         @namepop_sprite = nil
  146.         @character.namepop = nil
  147.         @namepop = nil
  148.       elsif @timer < 60
  149.         #Fade out text
  150.         @namepop_sprite.opacity -= 4.25
  151.       end
  152.     else
  153.       update_namepop
  154.       if @character.namepop != @namepop
  155.         @namepop = @character.namepop
  156.         start_namepop
  157.       end
  158.     end
  159.   end
  160.  
  161.   def update_text_pos
  162.     @namepop_sprite.x = x
  163.     @namepop_sprite.y = y - height
  164.     @namepop_sprite.z = z + 200
  165.   end
  166.    
  167.   #--------------------------------------------------------------------------
  168.   # › namepop‚ÌŠJŽn
  169.   #--------------------------------------------------------------------------
  170.   def start_namepop
  171.     dispose_namepop
  172.     return if @namepop == "none" or @namepop == nil
  173.     @namepop_sprite = ::Sprite.new(viewport)
  174.     b_width = @namepop.size * 8
  175.     b_height = @character.namepop_size + 20
  176.     @namepop_sprite.ox = 80 + (b_width/2)
  177.     @namepop_sprite.oy = 16 + (b_height/2) #16
  178.     @namepop_sprite.bitmap = Bitmap.new(b_width+160, b_height)#160, 16
  179.     ###Change Font, Font Size, Color, and Time based off Character values##
  180.     @namepop_sprite.bitmap.font.color = @character.namepop_color
  181.    # @namepop_color = @character.namepop_color
  182.     @namepop_sprite.bitmap.font.size = @character.namepop_size
  183.    # @namepop_size = @character.namepop_size
  184.     @namepop_sprite.bitmap.font.name = [@character.namepop_font]
  185.    # @namepop_font = @character.namepop_font
  186.     @namepop_sprite.bitmap.font.bold = @character.namepop_bold
  187.    # @namepop_bold = @character.namepop_bold
  188.     @namepop_sprite.bitmap.font.italic = @character.namepop_ital
  189.    # @namepop_ital = @character.namepop_ital
  190.     @namepop_sprite.bitmap.draw_text(0, 0, b_width+160, b_height, @namepop, 1)#(0, 0, 160, 16, @namepop, 1)
  191.     @namepop_time = @character.namepop_time
  192.     update_namepop(@namepop_time) #Pass a timer variable
  193.   end
  194.   #--------------------------------------------------------------------------
  195.   # › namepop‚̍XV
  196.   #--------------------------------------------------------------------------
  197.   def update_namepop(time = nil) #Add a timer variable
  198.     if @namepop_sprite != nil
  199.       @namepop_sprite.x = x
  200.       @namepop_sprite.y = y - height
  201.       @namepop_sprite.z = z + 200
  202.       if time != nil
  203.         @timer = time
  204.         @namepop_time = 0
  205.       end
  206.     end
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # › namepop‚̉ð•ú
  210.   #--------------------------------------------------------------------------
  211.   def dispose_namepop
  212.     if @namepop_sprite != nil
  213.       @namepop_sprite.bitmap.dispose
  214.       @namepop_sprite.dispose
  215.       @namepop_sprite = nil
  216.     end
  217.   end
  218. end
Advertisement
Add Comment
Please, Sign In to add comment