Message Shutter Animation - Myownfriend - 03-28-2010
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
Message Shutter Animation - Ace - 03-28-2010
looks nice, too bad that it doesn't work with ccoas UMS
Message Shutter Animation - kyonides - 03-28-2010
So it just does the same thing that happens on VX with command and message windows?
Message Shutter Animation - Myownfriend - 03-28-2010
@kyonides
Yes pretty much.
@Zarox
It might work with very little modification. I'll take a look at it when I get back home later tonight.
Message Shutter Animation - fgsfds - 03-29-2010
Doesn't work with the AMS as well... hope there's going to be a patch for this, I wanna give this script a try.
Message Shutter Animation - Myownfriend - 03-29-2010
Just checked out the two message systems. I would probably have to make a version of the script that works with each. If they had both made the fade in and fade out parts of their code into difference methods then simply overwriting those methods would make this script work. I'll see what I can do about getting them to work. Otherwise, I might just make this script into a full fledged message system at some point.
Message Shutter Animation - Ace - 03-29-2010
ty, I hope you can get it working. My Events are made to work with the UMS, so I can't just change the Message Script^^ I would have to change also all events
Message Shutter Animation - Boot - 03-31-2010
Works well, I like it. Just a quick question, would it be possible to have a method for this to be turned on/off at certain points of a conversation? Like if I have two characters talking, the shutter only activates when a different person is talking? So guy 1 could have three text boxes of conversation uninterrupted, the shutter activates and then the second guy talks.
Hope that makes sense. :P
Message Shutter Animation - Myownfriend - 04-04-2010
I understand what you mean, and back when I first made this script I don't think I had the know how to do that, but I will try again.
Message Shutter Animation - Ace - 04-06-2010
hey just wanted to ask you still work on the UMS Edition :D
|