Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Message Shutter Animation
#1
This is just a simple script I was using in a game I'm working on that was requested from Sixty.
It adds an opening and closing shutter animation to message windows when they open and close.

Code:
#==============================================================================
# ** Message Shutter Animation
#------------------------------------------------------------------------------
#
#  This script was made by Myownfriend, its only function is to add a shutter
#  effect to message windows as they open and close.
#
#  If your experiencing any compatibility problems with other scripts that make
#  small modifications to the message window, try placing this script directly
#  under the original Window_Message class. If you experience any other problems
#  with this script, please go to http://www.rmphantasy.net/
#
#==============================================================================
# ** Window_Message
#------------------------------------------------------------------------------
#  This message window is used to display text.
#==============================================================================


class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias mof_shutter_initialize :initialize
  def initialize
    mof_shutter_initialize
    @opening = false
    @closing = false
    @full_height = self.height
    @full_y = self.y
    @y_difference = @full_height/2
    @fade_in = false
    @fade_out = false
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    open
    if @input_number_window != nil
      @input_number_window.update
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] =
          @input_number_window.number
        $game_map.need_refresh = true
        @input_number_window.dispose
        @input_number_window = nil
        terminate_message
      end
      return
    end
    # If message is being displayed
    if @contents_showing
      # If choice isn't being displayed, show pause sign
      if $game_temp.choice_max == 0
        self.pause = true
      end
      # Cancel
      if Input.trigger?(Input::B)
        if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
          $game_system.se_play($data_system.cancel_se)
          $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
          terminate_message
        end
      end
      # Confirm
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        terminate_message
      end
      return
    end
    if @closing == false && $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      self.contents_opacity = 0
      self.y = @full_y + @y_difference
      self.height = 0
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      @opening = true
      return
    end
    close
  end
  #--------------------------------------------------------------------------
  # * Open Window Animation
  #--------------------------------------------------------------------------
  def open
    if @opening
      self.contents_opacity = 0
      self.height += @full_height/5
      self.y -= @y_difference/5
      if @input_number_window != nil
        @input_number_window.contents_opacity += 24
      end
      if self.height == @full_height
        @opening = false
        self.contents_opacity = 255
      end
      @contents_showing = true
      return
    end
  end
  #--------------------------------------------------------------------------
  # * Close Window Animation
  #--------------------------------------------------------------------------
  def close
    if self.visible
      @closing = true
      self.contents_opacity = 255
      self.height -= @full_height/5
      self.y += @y_difference/5
      if self.height == 0
        self.visible = false
        @wait_count = 5
        @closing = false
        $game_temp.message_window_showing = false
      end
      @contents_showing = false
      return
    end
  end
#-------------------------------------------------------------------------------
end
Reply }


Messages In This Thread
Message Shutter Animation - by Myownfriend - 03-28-2010, 01:17 AM
Message Shutter Animation - by Ace - 03-28-2010, 04:13 PM
Message Shutter Animation - by kyonides - 03-28-2010, 09:53 PM
Message Shutter Animation - by Myownfriend - 03-28-2010, 11:15 PM
Message Shutter Animation - by fgsfds - 03-29-2010, 12:33 AM
Message Shutter Animation - by Myownfriend - 03-29-2010, 07:39 AM
Message Shutter Animation - by Ace - 03-29-2010, 10:33 AM
Message Shutter Animation - by Boot - 03-31-2010, 07:17 PM
Message Shutter Animation - by Myownfriend - 04-04-2010, 04:16 AM
Message Shutter Animation - by Ace - 04-06-2010, 11:14 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
   Character's Dash Animation kyonides 0 152 04-08-2024, 03:50 AM
Last Post: kyonides
   Drago Message Log LiTTleDRAgo 0 4,416 08-31-2016, 01:22 PM
Last Post: LiTTleDRAgo
   Message Text from Files DerVVulfman 0 4,653 04-13-2016, 03:25 AM
Last Post: DerVVulfman
   Universal Message System Cancel Choices Fix DerVVulfman 3 9,091 05-23-2012, 03:46 AM
Last Post: Taylor
   Animation : Ground Kain Nobel 1 4,804 01-12-2012, 08:33 AM
Last Post: yamina-chan
   Victor Engine - Loop Animation Victor Sant 0 4,217 01-01-2012, 02:23 PM
Last Post: Victor Sant
   Victor Engine - Cast Animation Victor Sant 0 4,188 12-21-2011, 07:48 AM
Last Post: Victor Sant
   Universal Message System ccoa 15 44,904 10-09-2011, 04:33 AM
Last Post: DerVVulfman
   Universal Message System VX ccoa 2 9,015 03-10-2010, 07:01 PM
Last Post: DerVVulfman
   AMS - Advanced Message Script - R4 (LegacyX Edit) Legacy 2 8,410 09-18-2009, 09:43 AM
Last Post: Legacy



Users browsing this thread: