Aula 7: Nossa 1ª Scene!
Galáxia RPG Maker :: Outros assuntos e Aprendizado
:: Aulas de RGSS/RGSS2 :: Curso de RGSS/RGSS2 :: Curso de RGSS
Página 1 de 1
Aula 7: Nossa 1ª Scene!
Nossa 1ª Scene!
» Começando:
Para iniciar uma scnene, não podemos utilizar métodos quaiquer. Em uma scene e em vários scripts utilizamos métodos especiais chamados de construtores, são eles:
» initialize:
Método de inicialização, usamos geralmente para inicializar atributos e coletar parâmetros do mundo externo (outros scripts).
» main:
Método principal, onde estabelecemos o conteúdo da scene e o seu loop principal.
» O loop:
Na verdade essa aula seria sobre loops, porém deixaremos para a próxima, o que nos interessa saber é que um loop é um ciclo, ele tem a mesma funcionalidade do comando ciclo dos eventos.
Loop é um comando que executa continuamente um conjunto de comandos que estabelecemos até que utilizemos um comando para parar.
» Exemplo:
- Código:
l = 5
loop do
l += 5
if l > 2000
break
end
end
» return e break:
Eu já havia falado do comando return, venho agora trazer o comando break, os dois tem quase a mesma função, vamos as diferenças.
- Código:
var = rand(4)
if var == 3
var += 3
return
else
break
end
var += 10
» Botando em prática:
Vamos criar hoje uma scene simples, será uma tela de apresentação, para isso crie um novo espaço acima do main e coloque a nossa classe
class Scene_Presets
Mude o nome como quiser, agora vamos ao primeiro método, o nosso construtor, como não utilizaremos parametros, até por que não vimos isso ainda, vamos assim para o método main, assim:
def main
Agora entramos em um problema, como nosso script será iniciado bem no início do programa, temos que inicializar o sistema, com o tempo veremos mais detalhes a respeito agora nos basta:
$data_system = load_data("Data/System.rxdata") #vai carregar o sistema da pasta data
$game_system = Game_System.new #estabelecemos o objeto game system, inicializando-o (ele tem um construtor como o nosso)
Feito isso, precisamos criar o conteúdo do nosso script, vamos usar então uma imagem já que ainda não sabemos fazer janelas. Vamos chamar nossa imagem de @logo, assim:
@logo = Sprite.new #dizemos que #logo é uma sprite(imagem)
@logo.bitmap = RPG::Cache.title("Imagem.png") #aqui dizemos qual imagem iremos utilizar no nosso script, como deixei a imagem ficará na pasta title com o nome Imagem.png.
Antes de prosseguir, crie uma imagem para ser o logo, fáça-a com 640x480 píxels (tamanho da tela) e insira-a dentro da pasta titles!
@logo.opacity = 0 #estabelecemos uma opacidade para a imagem
@opacity = 0 #estabelecemos uma variável para nosso efeito de fade
Graphics.transition #estabelece que os gráficos irão se alterar
Agora criamos nosso loop
loop do
Graphics.update #serve para atualizar a tela
update # método update que faremos a seguir
if $scene != self #condição, se a scene for diferente da scene que estamos trabalhando
break #termina a execução do loop
end
end
terminado o loop, finalize o método.
»Vamos agora fazer nosso método de atualização, como vimos o nosso loop, irá executar continuamente um método chamado update, temos agora que definir o que nosso método fará cada vez que for executado.
def update
@opacity += 1
@logo.opacity = @opacicy
if @opacity > 255
$scene = Scene_Title.new
end
end
» Explicando...:
Precisamos definir o que será feito cada vez que o update for executado, nossa tela de logotipo terá o efeito de fade, ou seja, começa transparente e vai aparecendo, é por isso que estabeleci uma variável, a que chamei de @opacity, cada vez que eu executar a atualização, a minha variável aumentará em 1 o seu valor, após isso defino que a opacidade do objeto @logo, terá o valor da variável @opacity, para finalizar crio uma condição, quando a variável chegar em 255, abrirá a tela de título!!
Para usar a scene, vá no main e mude o Scene_Title.new por Scene_Presents.new, você não precisa chamar nenhum método pois usamos um construtor.
Todos os créditos e agradecimentos a Anderson Porto pelo lindo tutorial!
Tópicos semelhantes
» Aula 9: Introdução ao WSW
» Aula 10: Complementos
» Aula 8: Acesso a Atributos
» Aula 11: Criando uma HUD Parte 1
» Aula 12: Criando uma HUD Parte 2
» Aula 10: Complementos
» Aula 8: Acesso a Atributos
» Aula 11: Criando uma HUD Parte 1
» Aula 12: Criando uma HUD Parte 2
Galáxia RPG Maker :: Outros assuntos e Aprendizado
:: Aulas de RGSS/RGSS2 :: Curso de RGSS/RGSS2 :: Curso de RGSS
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos