Página 1 de 1

Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 9:19 pm
por nicoca
existe alguma maneira de eu fazer meio que tipo a tela escurece ai depois reaparece eu outra room ?

Re: Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 9:58 pm
por thyago
 Oi, tem sim abaixo os efeitos, o que você quer é o 21

/*
0 = no effect
1 = Create from left
2 = Create from right
3 = Create from top
4 = Create from bottom
5 = Create from center
6 = Shift from left
7 = Shift from right
8 = Shift from top
9 = Shift from bottom
10 = Interlaced from left
11 = Interlaced from right
12 = Interlaced from top
13 = Interlaced from bottom
14 = Push from left
15 = Push from right
16 = Push from top
17 = Push from bottom
18 = Rotate to the left
19 = Rotate to the right
20 = Blend the rooms
21 = Fade out and in
*/

transition_kind = 21;
room_goto(nome da room)

Re: Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 10:00 pm
por nicoca
obg mas onde eu coloco ?

Re: Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 10:24 pm
por Led
Bom, vamos precisar de 1 objeto, que será responsável por escurecer a tela e depois reaparecer.
Vamos criar um objFadeOut. Marque esse objeto como persistent;

No Evento Create deste objeto, utilizaremos o seguinte código:

Código: Selecionar todos

TransitionTime = 120; //Quantos steps serão necessários para escurecer totalmente a tela;
Opacity = 0; //Opacidade da cor que encobrirá a tela;
depth = -99999; //Diminuímos a profundidade, assim fazendo com que o objeto desenhe em cima de todos os outros;
i = 0; //Variável que incrementaremos para mudar a opacidade;
Room = "" //A room para qual queremos ir;
FadingOut = true; //Se estamos escurecendo ou reaparecendo;
No Evento Step:

Código: Selecionar todos

if FadingOut = true //Se estamos escurecendo
    {
    if i<TransitionTime //Enquanto i for menor que o tempo de transição;
        {
        i++; //Aumentamos i em 1 por step;
        }
    
    if i>=TransitionTime //Caso i seja maior ou igual a TransitionTime, ou seja, chegamos ao fim da transição;
        {
        room_goto(Room); //Passamos para a room desejada;
        }
    }

else //Se estamos clareando

    {
    if i>0 //Enquanto i for maior que 0;
        {
        i--; //Diminuimos i em 1 por step;
        }

    if i<=0 //Caso i seja menor ou igual a 0, ou seja, chegamos ao fim da transição;
        {
        instance_destroy(); //Destruímos o objeto;
        }
    }

    
    
if room = Room //Se chegamos na room desejada, ou seja, acabamos o Fade Out;
    {
    FadingOut = false; //FadingOut é igual a false, ou seja, começamos o Fade In;
    }

Opacity = i/TransitionTime; //Opacidade é igual a i dividido por TransitionTime, ou seja, um valor entre 0 e 1;
No Evento Draw:

Código: Selecionar todos

draw_set_alpha(Opacity); //Setamos a opacidade para Opacity;

draw_rectangle(0,0,room_width,room_height,false); //Desenhamos um retângulo preto do tamanho da room com a opacidade setada;
Pronto!
Para facilitar, podemos criar um script que cria uma instância do objFadeOut.

Código: Selecionar todos

///scrFadeOut(Transition Time, Room);

with(instance_create(0,0,objFadeOut))
{
TransitionTime = argument0;
Room = argument1;
}
Fiz uma engine bem simplezinha para você. LINK
Aperte Espaço para realizar a transição.
Até mais o/

EDIT: 
Perdão, link corrigido.

Re: Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 10:29 pm
por nicoca
o link nao vai

Re: Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 10:35 pm
por thyago
 . Coloque onde ele esta mudando de room, ao colidior com outro objeto ou ao apertar um botão, dependo do seu caso, me falaram que não da certo no gms o que eu falei, então se for o caso desconsidere, é que eu não uso gms, uso gm 8.0

Re: Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 10:48 pm
por nicoca
tambem n uso o gm 8.0 eu uso o mais atual e n foi n ele  n escurece

Re: Como Fazer Transição de tela

Enviado: Ter Mai 24, 2016 11:07 pm
por nicoca
Led era pra tela ficar laranja ?

Re: Como Fazer Transição de tela

Enviado: Qua Mai 25, 2016 12:22 am
por junior.rod2
Fiz uma engine o mais simples possível, evitando ao máximo usar códigos mais complexos. Bom, para escurecer a tela e mudar de room pressione "Enter".
https://www.dropbox.com/s/s6mzxs45kfcehnh/Room%20alpha%20engine..gmk?dl=1

Re: Como Fazer Transição de tela

Enviado: Qua Mai 25, 2016 12:24 am
por nicoca
Vlw vo reciocina aqui e faze usando time line vlw.
Edit:
junior.rod2 [/b]obg unico que deu certo so mais uma coisa como faço pra tipo ir aparecendo do preto pro normal ?pois isso so escurece pra passar a home[/b]

Re: Como Fazer Transição de tela

Enviado: Qua Mai 25, 2016 7:53 pm
por Led
nicoca escreveu:Led era pra tela ficar laranja ?
O background da primeira room é laranja, e o da segunda, azul, para evidenciar a mudança de room ao apertar espaço.
Mas vejo que já conseguiu, então desconsidere.

Re: Como Fazer Transição de tela

Enviado: Qui Mai 26, 2016 5:46 pm
por junior.rod2
 
Como faço pra tipo ir aparecendo do preto pro normal ?
Duvida já respondida em outro tópico: https://tgmbrasil.com.br/viewtopic.php?f=7&t=314&p=589#p589