O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

MSX - Animation Player 1.0 [Simulador de GIF]

Iniciado por MayLeone, 29/03/2013 às 14:35

MSX - Animation Player 1.0
Por: Melosx

[box class=titlebg2]Introdução:[/box]
[box class=catbg3]Eu estava há um tempo procurando por algo parecido com isto... Um script que criasse um ''simulador'' de GIFs no RPG Maker.
Mas o que seria este tal de ''simulador''?
Simples, se você está afim de criar algo a partir de imagens e que necessitem de uma animação, com este script você poderá substituir aquele velho trabalho de utilizar diversos comandos de mostrar imagem ou mover imagem, para criar alguma animação a partir de pictures, um simulador de gifs mesmo.
Um exemplo mais específico, você poderia facilmente colocar esta imagem aqui: no seu projeto, sem ter a necessidade de programar os comandos de imagens, um por um.
Acho que agora deu para entender o que o script faz, não?[/box]

[box class=titlebg2]Como funciona??[/box]
[box class=catbg3]Simples, após ter colado o script em seu projeto, chame o comando de ''script'' através dos comandos de eventos, e ponha isto aqui:

$anim.name = "" 
$anim.x =  
$anim.y = 
$anim.frame = 
$anim.wait = 
$anim.show 


Dentro dos parênteses do primeiro código, coloque o nome da imagem que será utilizada como GIF. Imagem esta que deve estar na pasta "Pictures'' do seu projeto.
Em $anim.x =  e $anim.y =, você irá definir após o sinal de igual (=) as coordenadas X e Y da imagem na tela.
$anim.frame = Você irá colocar a quantidade de frames que o GIF terá que reproduzir.
E em $anim.wait = Quanto tempo (em frames) que a animação deverá esperar para reproduzir a próxima frame do GIF. Lembrando que: 60frames =  1 segundo.

Exemplo:

$anim.name = "Imagem" 
$anim.x = 120
$anim.y = 158
$anim.frame = 6
$anim.wait = 25
$anim.show


Todas as imagens que serão reproduzidas em GIF deverão ter o mesmo nome, sendo elas ordenadas numericamente.
Exemplo: A imagem base deverá ter o nome como referência para as outras imagens. Vou seguir o exemplo do code acima, onde a imagem base se chama "imagem" e o GIF irá possuir 6 frames animadas, como mostrado no código, então ficaria: "Imagem", "Imagem1", "Imagem2", "Imagem3", "Imagem4", "Imagem5", "Imagem6".
Todas as imagens deverão estar na pasta Pictures do seu projeto![/box]

[box class=titlebg2]Imagens:[/box]
[box class=catbg3] Não perceptível por imagens.[/box]

[box class=titlebg2]Script:[/box]

Cole o script acima do Main.
#==============================================================================
# ** MSX - Animation Player
#==============================================================================
# Autor: Melosx
# Versão: 1.0
# Data de lançamento: 30/06/2012 => v1.0
# Tradução: MayLeone
#==============================================================================
# * Instruções:
# -----------------------------------
# Chame o comando de script para definir a animação a seguir:
#
# $anim.name = "" -> Nome da imagem base da animação. 
# $anim.x = Coordenada X da imagem na tela.
# $anim.y = Coordenada Y da imagem na tela.
# $anim.frame = Número de frames.
# $anim.wait = n -> Tempo de espera de uma frame para outra. (60 frames = 1seg.)
# $anim.show -> Inicio da animação.
# -----------------------------------
#
# * Exemplo:
# -----------------------------------
# $anim.name = "Anim"
# $anim.x = 150
# $anim.y = 150
# $anim.frame = 3
# $anim.wait = 5
# $anim.show
#
# As outras imagens contendo o mesmo nome da imagem base 
# numeradas ordenadamente, deverão estar na pasta "Pictures". "Anim1", "Anim2", 
# "Anim3".
#==============================================================================

class AnimPlayer < Scene_Base  

  attr_accessor :name, :x, :y, :wait, :frame

  def initialize
	@name = ""
	@x = 0
	@y = 0
	@frame = 0
	@wait = 0
  end

  def wait(duration)
	duration.times { Fiber.yield }
  end

  def show
	for i in 1..@frame
	  @pic = Sprite.new
	  @pic.bitmap = Cache.picture(@name + i.to_s)
	  @pic.x = @x
	  @pic.y = @y
	  wait(@wait)
	  @pic.bitmap.dispose
	  @pic.dispose
	  Cache.clear
	end
  end

end

$anim = AnimPlayer.new




[box class=titlebg2]Créditos:[/box]
[box class=catbg3] ○ Melosx: Criador do script;
○ MayLeone: Tradução, tutorial e disponibilização do script.

Tópico de origem: http://www.rpgmakervxace.net/topic/5059-msx-animation-player/

[/box]

Poxa, muito bom may!
Pode ser usado em MUUUITAS coisas :P
Desde um simples enfeite, para dar um toque no seu game, até uma peça fundamental de algum quebra-cabeça...
Enfim, muito obrigado por trazer pra cá May ;D
+Gold :D
.

Realmente este script abre um leque de possibilidades para o maker.
Obrigado por disponibilizar, May!