Últimos temas
» Script de menupor maxi Jue 04 Dic 2014, 1:44 pm
» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm
» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am
» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am
» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm
» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm
» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am
» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am
» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am
» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am
» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am
» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm
» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am
» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am
» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm
¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado Ninguno
El record de usuarios en línea fue de 117 durante el Mar 09 Ago 2011, 3:39 pm
Menu animado
5 participantes
RPG maker VX :: Scripts ::
Página 1 de 1.
Menu animado
Hoy, como no tenia mucho tiempo, os he traido un script no tan bueno como los demas pero aun asi merece la pena. Este script hace que en el menu al lado de las faces aparezcan los charas moviendose y dando vueltas...
Autor: Eragon
Buscado por: emiliovirtual
Sceems:
Code:
Demo:
[Tienes que estar registrado y conectado para ver este vínculo]
Autor: Eragon
Buscado por: emiliovirtual
Sceems:
- Spoiler:
Code:
- Código:
#==============================================================================
# Menu com Sprites Animadas em vez das Faces
# Version: 1.0
# Author: ~Eragon~
# Data: fevereiro 19, 2010
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Descrição:
#
# Este script lhe permite puxar o char de um ator em qualquer cena que apareça a face do ator.
# Você pode usar isto para completar o gráfico de face ou substituir o gráfico de face completamente.
# Para cada cena onde você escolhe usar esta característica,
# você pode configurar vários opções, como onde o char aparece (em relação ao gráfico de face),
# se ou não a face também será puxada, o que posa o char começará dentro, se será animado, se mudará direções
# (e nesse caso, em cima de que intervalo de tempo), e se subseqüentemente as sprites tirados deveriam ser uma diferente pose.
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#
ASF_CONFIGURATION = {
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
# Região Editavel
#````````````````````````````````````````````````````````````````````````````
# Para cada cena que você quer o rosto para ser substituída (ou suplementada)
# pela sprites, criar uma entrada da seguinte forma (os valores são padrão),
# omitindo qualquer que quiser ser padrão (atenção a vírgula e colchetes)
#
# Scene_X => {
# :x_offset => 0,
# :y_offset => 0,
# :remove_face => false,
# :default_start_pose => 0,
# :alternate_start_pose => false,
# :change_directions => false,
# :direction_frames => 120,
# :animate_sprites => false,
# :move_speed => 4
# }
#
# onde:
# Scene_X ~ O da cena. por exemplo, Scene_Menu; Scene_Battle; Scene_Name
# : X_offset ~ um número inteiro, representando quantos pixels a esquerda ou
# direita ele deve ser movido a partir do centro, onde a face seria elaborado.
# Os números positivos serão tiradas desse direito, e os números negativos elaborado
# Esquerda do que isso. Se excluídos, o padrão é 0.
# : Y_offset ~ um número inteiro, representando quantos pixels para cima ou para baixo, deve
# Ser retirados do fundo de onde a face seria elaborado. Se negativo,
# Vai ser mais elaborado e, se positivo, será elaborado inferiores. Se
# Excluído, assume a 0.
# : Remove_face ~ um boolean. Se for verdade, a face não vai ser desenhado. Se false, a
# face será elaborado juntamente com o objeto. O padrão é falso.
# : Default_start_pose ~ um número inteiro, 0-3. Este é o início da pose
# Sprite primeiro desenhado. 0 => Down; 1 => Direito; 2 => Up; 3 => Esquerda. Se
# Excluído, o padrão é 0.
# : Alternate_start_pose ~ um boolean. Se for verdade, então cada vez que um novo sprite
# É desenhada, a sua posição inicial será diferente. Assim, se você tem três ator
# Sprites estão sendo elaborados, eo início pose padrão é 0 (baixo), então
# O primeiro sprite começaria virada para baixo, o segundo seria sprite
# Inicia virado para a direita, eo terceiro sprite começaria virada para cima. Se
# Excluído, o padrão é falso
# : Change_directions ~ um boolean. Se for verdade, os sprites mudaria
# Durante o intervalo de tempo definido em: direction_frames. Se false, a sprites
# Só irá enfrentar uma direcção para a duração da cena. Se excluídos,
# Defaults to false
# : Direction_frames ~ um número inteiro. Se: change_directions é verdade, esta
# Inteiro vai determinar o número de quadros para que as alterações sprite Direction.
# 60 frames = 1 segundo. Se excluídos, o padrão é 120.
# : Animate_sprites ~ um boolean. Se for verdade, as sprites serão mostrados caminhando.
# Se for falsa, eles permanecerão estacionários. Se excluídos, o padrão é falso.
# : Move_speed ~ um número inteiro, 1-6. Se: animate_sprites é verdade, este é
# A velocidade que o sprite estará animando. 1 é o mais lento e 6 é
# O mais rápido. O padrão é de 4
#
# Se você receber um erro de sintaxe quando testar jogar o seu jogo, você provavelmente
# Esqueceu de colocar uma vírgula ou curly bracket pol Se você configurar entradas para mais
# De uma cena, você precisa colocar uma vírgula após cada) exceto para o último
# Entrada n º. Para todos os atributos que você especificar em cada entrada de cena, você precisa
# Uma vírgula após o valor, exceto para a última entrada.
#||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Scene_Menu => {
:x_offset => -32,
:y_offset => 0,
:remove_face => false,
:default_start_pose => 0,
:alternate_start_pose => true,
:animate_sprites => true,
:move_speed => 1,
:change_directions => true,
:direction_frames => 120
},
Scene_Status => {
:x_offset => 0,
:y_offset => -32,
:remove_face => true,
:default_start_pose => 0,
:animate_sprites => true
}
#||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
# Fim da Região editavel
#////////////////////////////////////////////////////////////////////////////
}
#==============================================================================
# ** Bitmap
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# new attr_accessor - asf_just_cleared
# aliased method - clear
#==============================================================================
class Bitmap
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Public Instance Variable
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
attr_accessor :asf_just_cleared
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Clear
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mala_wlksprtmnu_clr_2gc1 clear unless self.method_defined? (:mala_wlksprtmnu_clr_2gc1)
def clear (*args)
mala_wlksprtmnu_clr_2gc1 (*args) # Run Original Method
@asf_just_cleared = true
end
end
#==============================================================================
# ** Game_Character
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Compatibility patch for Composite Characters
#==============================================================================
class Game_Character
attr_writer :composite_character if self.method_defined? (:composite_character)
end
#==============================================================================
# ** Sprite_MenuActor
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# This window displays the walking sprite of an actor.
#==============================================================================
class Sprite_MenuActor < Sprite_Character
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Object Initialization
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def initialize (actor_id, x, y, dir, config, viewport = nil)
@frame_count = 0
@change_direction, @asf_animation = config[:change_directions], config[:animate_sprites]
@direction_frames = config[:direction_frames].is_a? (Integer) ? config[:direction_frames] : 120
actor = $game_actors[actor_id]
character = Game_Character.new
# Set to composite character if that script exists.
if character.methods.include? ("composite_character")
character.composite_character = actor.composite_character
else
character.set_graphic (actor.character_name, actor.character_index)
end
super (viewport, character)
self.x, self.y = x, y
case dir
when 1 then @character.turn_right
when 2 then @character.turn_up
when 3 then @character.turn_left
end
# Change Speed and Frequency of the Sprite
freq = config[:move_speed] ? config[:move_speed] : 4
move_route = RPG::MoveRoute.new
move_route.list.unshift (RPG::MoveCommand.new (29, [freq]))
@character.force_move_route (move_route)
update_bitmap
update
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Frame Update
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def update
# Turn at user-specified intervals
if @change_direction
if @frame_count >= @direction_frames
@character.turn_right_90
@frame_count = 0
end
@frame_count += 1
end
if @asf_animation
@character.update_move
@character.update_animation
end
update_src_rect
end
end
#==============================================================================
# ** Window_Base
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Summary of Changes:
# aliased methods - initialize, update, dispose, draw_actor_face
# new methods - dispose_walking_sprites
#==============================================================================
class Window_Base
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Object Initialization
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias ma_asf_init_wlkng_7jk2 initialize
def initialize (*args)
@ma_walking_sprites = []
ma_asf_init_wlkng_7jk2 (*args) # Run Original Method
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Dispose
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias malgba_wlksprts_disps_5yu2 dispose
def dispose (*args)
@ma_walking_sprites.each { |sprite| sprite.dispose }
@ma_walking_sprites.clear
malgba_wlksprts_disps_5yu2 (*args) # Run Original Method
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Frame Update
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias mrnalb_sprtwlk_updt_7uj2 update
def update (*args)
# Dispose all sprites if bitmap recently cleared and new faces not drawn
if self.contents.asf_just_cleared
@ma_walking_sprites.each { |sprite| sprite.dispose }
@ma_walking_sprites.clear
self.contents.asf_just_cleared = false
end
# Check if contents have scrolled
x_plus, y_plus = 0, 0
if @asf_scroll_x != self.ox
@asf_scroll_x = 0 unless @asf_scroll_x
x_plus += (@asf_scroll_x - self.ox)
@asf_scroll_x = self.ox
end
if @asf_scroll_y != self.oy
@asf_scroll_y = 0 unless @asf_scroll_y
y_plus += (@asf_scroll_y - self.oy)
@asf_scroll_y = self.oy
end
@ma_walking_sprites.each { |sprite|
sprite.update
# Scroll if contents have scrolled.
sprite.x += x_plus
sprite.y += y_plus
}
mrnalb_sprtwlk_updt_7uj2 (*args) # Run Original Method
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Draw Actor Face Graphic
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias malg_drwactrface_spritereplce_6uj2 draw_actor_face
def draw_actor_face(actor, x, y, size = 96, *args)
# If scene is specified to replace the face graphic
if ASF_CONFIGURATION.keys.include? ($scene.class)
# Dispose all sprites if bitmap recently cleared
if self.contents.asf_just_cleared
@ma_walking_sprites.each { |sprite| sprite.dispose }
@ma_walking_sprites.clear
self.contents.asf_just_cleared = false
end
config = ASF_CONFIGURATION[$scene.class]
malg_drwactrface_spritereplce_6uj2 (actor, x, y, size, *args) unless config[:remove_face]
# Get offset
x_off = config[:x_offset] ? config[:x_offset] : 0
y_off = config[:y_offset] ? config[:y_offset] : 0
sx = x + (size / 2) + x_off
sy = y + size + y_off
pose = config[:default_start_pose] ? config[:default_start_pose] : 0
dir = config[:alternate_start_pose] ? @ma_walking_sprites.size % 4 : pose
# Create Sprite
viewport = Viewport.new (self.x + 16, self.y + 16, contents.width, contents.height)
viewport.z = self.z + 50
viewport.z += self.viewport.z if self.viewport
sprite = Sprite_MenuActor.new (actor.id, sx, sy, dir, config, viewport)
@ma_walking_sprites.push (sprite)
else
# Draw face if scene not affected
malg_drwactrface_spritereplce_6uj2 (actor, x, y, size, *args)
end
end
end
Demo:
[Tienes que estar registrado y conectado para ver este vínculo]
emiliovirtual- 50
-
53
102
152
33
Re: Menu animado
Tus Ultimos Posts, Son Simples, pero tan buenos . Buen Script Man :D
maxi- Moderador
-
28
908
1673
156
Extras
Sobre mí:: ¿Necesitas Una Mano en el Maker VX o VX ACE? ¡Ponte en Contacto Conmigo! :)
Re: Menu animado
si es que ultimamente no tengo mucho tiempo, el siguiente sera mejor, lo prometo...
emiliovirtual- 50
-
53
102
152
33
Re: Menu animado
Me gustó mucho, ya lo puse en mi juego. Buen aporte y +1
maiko- 15
-
28
25
20
0
Extras
Sobre mí::
Re: Menu animado
Np emi, . Almenos Posteas Algo. No como yo... :P xDDD, Ah me olvide de tu +1 Perdona :D
maxi- Moderador
-
28
908
1673
156
Extras
Sobre mí:: ¿Necesitas Una Mano en el Maker VX o VX ACE? ¡Ponte en Contacto Conmigo! :)
Re: Menu animado
Jajajajaja precioso cada ves sale algo mas novedoso y bueno para los proyectos extensos, Gracias y te dejo un +1 como siempre xD
Ahi que generoso soy ^^.
Naaa te creas xD.
Ahi que generoso soy ^^.
Naaa te creas xD.
Clound- 500
-
27
512
480
39
Extras
Sobre mí::
RPG maker VX :: Scripts ::
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.