King Rpg Maker
Bem vindos a King Rpg Maker

Participe do fórum, é rápido e fácil

King Rpg Maker
Bem vindos a King Rpg Maker
King Rpg Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Passo-a-passo de Como usar a Window Command com SladeXD

Ir para baixo

Passo-a-passo de Como usar a Window  Command com SladeXD Empty Passo-a-passo de Como usar a Window Command com SladeXD

Mensagem  SladeXD Qua Abr 07, 2010 3:17 pm

Ola, pessoal bem vindos à minha primeira aula de RGSS2.
Na aula de hoje vamos aprender a usar a window command
INDICE:
1 – Window_Command
1.1 - Criando a Window
1.1 - 2 - Apagando a Window
1.1 - 3 - Onde a Window será exibida
1.1 – 4 – Possíveis duvidas
1.2 - Adicionando mais opções para a janela
1.2 - 1 - Onde a Window será exibida
1.2 - 2 - Criando os comandos da Window
2 – Criando um menu com SladeXD
2.1 - INICIO
2.1 - 2 – Base para o Menu
2.1 - 3 – Window do Menu
2.1 - 4 – Comandos do Menu
2.1 - 5 – Scenes do Menu
2.2 – FIM
2.2 – 2 – Toques finais finais
2.2 – 3 – Possíveis Duvidas
REQUISITOS BÁSICOS PARA A AULA
Para fazer essa aula é necessário:
- Ter noções básicas sobre RGSS2
- Saber o que é classe, método e Variáveis
- Ter Vontade de aprender acima de tudo (A tuto é longa xD)
2 – INICIO
Bom para começar com a aula nos precisamos criar a window (é obvio, xD)
Então vamos crie um novo projeto no maker (ou abra um existente, vc é quem sabe)
Aperte F11 para abrir o editor de Scripts ou clique no ícone...
2.1 – CRIANDO A WINDOW
...Crie um novo script e digite o seguinte código ( é melhor você digitar para acustumar com o código!) :
class Scene_Teste < Scene_Base
def start
create_menu_background
end
end
agora va no mapa e crie um evento va na aba 3 e clique em chamar script digite isso:
$scene = Scene_Test.new
Agora rode o game e veja o que aconteceu!
Nossa grades coisa Slade, a tela fico meio cinza e borrada!
Calma, calma, isso tudo faz parte da nossa aula!
Agora vamos revisar o que foi escrito aqui em cima
Primeiro nos criamos uma classe chamada Scene_Teste com o comando:
class Scene_Teste
E definimos que ela é filha da Scene_Base com um “<”, ou seja herda os métodos da classe pai, como por exemplo o create_menu_background, que deixa a tela “cinza e borrada” e para o jogo e depois fnalizamos com 2 end, um end serviu para finalizar o script e o outro para finalizar o método que foi o def start, que inicia a Scene_Teste
O def start é um método da Scene_Base
Se você não intendeu o que foi dito acima recomendo que volte para as aulas básicas de RGSS2.
Ta bom Slade eu intendi o que foi dito acima mais ainda num vi a Window_Command!
É porque ela será feita agora!
Abaixo de def start digite o código:
@wc = Window_Command.new(200,[s1,s2])
Agora rode o jogo e fale com o evento e voce vera que deu erro, mas porque?
Bem vamos rever o código acima
@wc = Window_Command.new(200,[s1,s2])
Nele nós criamos uma variável publica que é o @wc e definimos que essa variável vai ser a window, e entre parênteses esta o seguinte código (200,[s1,s2]) o que seria esses números? Bem o 200 é o tamanho da janela de comando e o s1 e s2
São as variáveis que declaramos como as opções da window!
OPA! Mais nós não declaramos nenhuma variável!
Correto! Por isso da erro! Porque ele busca a variável s1 e s2 mais como elas não exstem da erro, então vamos criar as variáveis s1 e s2, embaixo de def start digite o seguinte código: s1 = “teste1” e embaixo de s1 digite s2 = “teste2”
Ou seja nos declaramos que a variável s1 tem o valor escrito de teste1 e a variável s2 tem o valor escrito de teste 2
Agora rode o jogo e fale com o npc e veja o que acontece!
Nossa que legal o que eu escrevi no s1 e no s2 apareceu numa janelinha no canto superior esquerdo, mas a paradinha de selecionar a opção num se meche Slade!
Bem vamos intão resolver isso agora mesmo!
Apague o ultimo end do script e digite o seguinte código embaixo do end que ficou:
Def update
if Input.trigger?(Input::DOWN)
@wc.index = 1
elsif Input.trigger(Input::UP)
@wc.index = 0
end
end
end
seu script deve estar assim:
class Scene_Teste < Scene_Base
def start
s1 = "teste1"
s2 = "teste2"
create_menu_background
@wc = Window_Command.new(200,[s1,s2])
end

def update
if Input.trigger?(Input::DOWN)
@wc.index = 1
elsif Input.trigger?(Input::UP)
@wc.index = 0
end
end
end
agora rode o jogo e veja o que acontece quando você fala com o npc e a janela abre e você aperta cima ou baixo nas setas do teclado!
EEEEEEEBBBBBBBAAAAAA!!!!!!! O cursor se mexe! Mas eu to com um monte de duvidas!
1° duvida: como isso foi feito?
R – o método update atualiza a janela, ou seja nós criamos uma condição com o if e colocamos como condição que se apertar a seta para baixo a janela atualiza e move o cursor para baixo! (como?)
Usando o comando Input.trigger?(Input::DOWN) (Ainda não entendi!) bem o codigo esta na frente do comando if usado para criar condições e esse comando Input.trigger?(Input::DOWN) basicamente se eu fosse traduzir ele eu diria o seguinte
Condição “se.apertar?(apertar tecla::BAIXO) ou seja quando cumprida as condições ele executa o comando dentro da condição que seria o comando que muda a posição do cursor!
2° duvida: e qual seria o comando que muda o cursor de posição?
R – o comando @wc.index = 1! (como é que é? Num intendi!) bem primeiro nós escrevemos a variável @wc que tem o valor da window e depois definimos que a posição do cursor seria a opção de ID1 da janela! (e qual seria a opção de ID1 da janela?)
Lembra que quando criamos a janela nós usamos o comando @wc = Window_Command.new(200,[s1,s2]) ?
Esse [s1,s2] são as opções ou seja s1 = ID 0 e s2 = ID 1! (intão se eu quiser adicionar mais opções na janela é só eu adicionar mais um s e algum numero?) não é bem assim, eu irei explicar isso em aulas futuras!
3° duvida: quando eu aperto esc ou enter não acontece nada!
R – Bem sobre o enter entrarei nesse assunto em aulas futuras! E sobre o esc, bom quando você aperta esc em qualquer Scene o que acontece? Issu mesmo ou volta a algum lugar ou cancela algo! Então vamos fazer com que ao apertar esc volte para o mapa! (na próxima etapa da nossa aula)
1.1 – 2 APAGANDO A WINDOW

Bem para apagar nossa window nós temos que finalizar a scene! Mas como?
Muito simples vá no código def update e digite o seguinte código embaixo de @wc.index = 0:
Elsif Input.trigger?(Input::B)
$scene = Scene_Map.new
Slade, o que você fez ali em cima, você me pergunta!
E eu te respondo, lembra o código Input.trigger?(Input::DONW) (Sim eu lembro, intão o que você fez foi, quando apertar B vai acontecer alguma coisa?) sim (mais eu quero que seja apertar ESC!) esc e B no maker significam a mesma coisa, ou seja se você apertar esc também vai acontecer “Algo”
Agora seu script deve estart assim!
class Scene_Teste < Scene_Base
def start
s1 = "teste1"
s2 = "teste2"
create_menu_background
@wc = Window_Command.new(200,[s1,s2])
end

def update
if Input.trigger?(Input::DOWN)
@wc.index = 1
elsif Input.trigger?(Input::UP)
@wc.index = 0
elsif Input.trigger?(Input::B)
$scene = Scene_Map.new
end
end
end
rode o game e fale com o npc e veja o que acontece quando você aperta ESC!
Legal, o jogo destravou, e a tela cinza meio borrada sumiu! Mas a janela continua la!
Bem então vamos resolver esse problema!
Apague o ultimo end do script e digite o seguinte código embaixo do ultimo end:
Def terminate
@wc.dispose
End
End
Slade o que você fez ali?
Bem, bascamente eu disse ao maker que quando eu mudar a Scene é pra ele apagar a janela que nós criamos!
Agora rode o jogo e teste!
1.1 – 3 AONDE A JANELA SERA EXIBIDA
Se por exemplo você quiser que a janela seja exibida ao invés do menu basta adicionar o seguinte código no final do script depois de
Def terminate
@wc.dispose
End
End
Insira o codigo:
class Scene_Map
def call_menu
if $game_temp.menu_beep
Sound.play_decision
$game_temp.menu_beep = false
end
$game_temp.next_scene = nil
$scene = Scene_Teste.new
end
end
Slade o que você fez ali?
Bem eu disse pro script invés de chamar a Scene_Menu quando apertar ESC vai chamar a scene que criamos! (estude o script para mais detalhes!
1.1 – 4 POSSIVEIS DUVIDAS
P1 - Slade, gostei da sua aula você vai criar mais tutoriais futuramente?
R1 – Sim em breve, você pode ver um poço do que vai ser encinado em breve no INDICE!
P2 – Pow, você não completou a tuto, falta adicionar comandos para a janela!
R2 – Eu sei irei ensinar isso na próxima aula!
P3 – Com essa base que você esta nos dando, é possível criar um menu com ela?
R3 – Sim!
P4 – Pow axo meu script não esta funcionando!
R4 - Script:
Spoiler:
Flw pessoal, até a próxima aula!
Comentem!
SladeXD
SladeXD
Novato
Novato

Mensagens : 4
Moedas KRM : 5202
Especialidade : Scripter
Engine Favorita : RPG Maker VX

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos