Sonic (Looping)

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Sonic (Looping)

Mensagem por kelvindeth em Qui 14 Maio 2009, 12:20

olá pessoal, estou criando um game do sonic, mais estou com um probleminha...

Alguem poderia me montar um tutorial de como fazer pro objeto fazer o Looping ???

Vlw..

kelvindeth

Número de Mensagens : 135
Idade : 24
Data de inscrição : 14/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por makgamer em Qui 14 Maio 2009, 13:58

o que é looping?

makgamer

Ranking : Nota D
Número de Mensagens : 927
Idade : 18
Data de inscrição : 29/03/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por kelvindeth em Qui 14 Maio 2009, 14:44

Looping = Uma Volta como uma roda gigante affraid

Onde o persoagem passa por dentro dando uma volta de 360 Graus... lol!

kelvindeth

Número de Mensagens : 135
Idade : 24
Data de inscrição : 14/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por Kevin em Qui 14 Maio 2009, 14:55

Bem cara... primeiro sabe fazer o personagem andar em um chão meio enclinado?

sabe fazer o sprite dar 360º sem precisar rodar o sprite?

tem a versão PRO?

achu que é só isso...

se saber de tudo isso junte tudo que da certo Razz

EX: os chãos enclinados do luping... depois ele dar 360º... Para fazer o 360 precisa da versão PRO... então...

Se tiver a versão PRO avise aqui!!!
se não sabe fazer o CHAR (Player 1(Sonic)) andar num chão inclinado procura aqui no fórum que tu achas Happy

e... 360 com troca de gravidade depois te explico se caso tu souber fazer isso Happy

FLW

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por Kabeção em Qui 14 Maio 2009, 16:25

Sugestões, Criticas & Perguntas não é um forum para assuntos relaciondados com o Game Maker!

Não custa nada ler as pequenas descrições das seções antes de postar.

Movido.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por kelvindeth em Sab 16 Maio 2009, 12:07

Olá kekegames, eu tenho a versão Pro sim..

Tenho as Srpites do Sonic andando, Andando meio inclinado (No caso seria como se ele estivesse subindo umas escada)..

Mais sobre o 360º, não entendi muito bem como se faz...

Seria grato se pudesse me montar uma demo, Teria Como ???

Brigadão...


OBS: Peço desculpas ao Kabeção (Administrador)

kelvindeth

Número de Mensagens : 135
Idade : 24
Data de inscrição : 14/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por Igor KinGamer em Sab 16 Maio 2009, 18:58

kelvindeth, uma vez eu baixei uma engine do Sonic, aqui está ela: Sonic Ultra Revival Engine

Mas ela não é muito simples não :/

Ok, ela não é nada simples, gastei algumas horas para entender como algumas coisa foram feitas... Sad

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por kelvindeth em Dom 17 Maio 2009, 12:11

Happy vlw mesmo Igor KinGamer

justamente o que eu procurava, so que a linha de código é muito complexa o.O


Vo ter que estudr pra caramba pra intender Happy

Mesmo assim muito obrigado mesmo...

lol!

kelvindeth

Número de Mensagens : 135
Idade : 24
Data de inscrição : 14/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por Kevin em Dom 17 Maio 2009, 18:03

oO... caramba... o c[odigo é complicadin oO

mais assim velho... faça o seguinte... deixe o LOOPING em 7 partes... a parte do começo... a parte da direita... e assim por diante....


faça um objecto para cada parte!!!

(isso num vai ficar PRO... mais pelo menos tu vai fazer algo bom Razz )

ae... você coloca assim no player 1...

quando colidir com a parte 1 ele...

afz... num vo nem explica que vai se mó trampo... mais te mando um TUTO se tu quiser... é só me pedir Happy

FLWs


EDIT:

BEM.. o tuto vo fica devendo Razz

bem.. mais se quiser te explico mais ou menos os códigos Happy

FLWs

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por kelvindeth em Seg 18 Maio 2009, 11:10

o cara eu quero sim Happy

Se não for encomodar me faz um tudo por favor...

Vlw...

Depois posto um vídeo mostrando como ta o menu do meu game, menu super desenvolvido Happy

kelvindeth

Número de Mensagens : 135
Idade : 24
Data de inscrição : 14/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Tudo do Looping feito.... não muito bom... mais feito ^^

Mensagem por Kevin em Seg 18 Maio 2009, 19:22

cara faz o seguinte....

abre este projecto que o grande Igor KinGamer passou!!!

copia toda a categoria de scripts que tem lá...

depois coloca este código aki no step:


Código:

    // movement control
   
    // ========== PART 1 ==============================================================================================       
        /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        -> X movement.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        */
       
        x  +=  cos(degtorad(angle)) * x_speed;
        y  -=  sin(degtorad(angle)) * x_speed;

            // move the player outside in case he has got stuck into the wall
            while (x_speed > 0 && player_collision_right( x, y, angle, maskMid ) == true )
            {
                x  -=  cos(degtorad(angle));
                y  +=  sin(degtorad(angle));
            }
           
            while (x_speed < 0 && player_collision_left( x, y, angle, maskMid ) == true )
            {
                x  +=  cos(degtorad(angle));
                y  -=  sin(degtorad(angle));
            }

    // ========== PART 2 ==============================================================================================       
        /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        -> Y movement.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        */
       
        if (ground == false)
        {
            y  +=  y_speed;
             
                // move the player outside in case he has got stuck into the floor or the ceiling         
                while (y_speed < 0 && player_collision_top( x, y, 0, maskMid ) == true )
                {
                    y  +=  1;
                }           

                while (y_speed > 0 && player_collision_bottom( x, y, 0, maskMid ) == true )
                {
                    y  -=  1;
                }
               
                // check for landing
                if (y_speed >= 0 && player_collision_bottom( x, y, 0, maskBig ) == true)
                {
                    if ( player_collision_left_edge( x, y, 0 ) && player_collision_right_edge( x, y, 0 ) )
                        angle  =  player_get_angle( x, y, 0 );
                    else
                        angle  =  0;
                       
                    x_speed -=  sin(degtorad(angle)) * y_speed;
                    y_speed =  0;
                    ground  =  true;
                   
                    // return to the normal state if the character was hurt
                    if (action == action_hurt)
                    {
                    action = action_normal;
                    }
                   
                    // return to the normal state if the character was jumping
                    if (action == action_jumping)
                    {
                        action = action_normal;
                    }
                }
 
            // wall collision (yeah, again, we should perform that since the y axys has recently changed)
            while (player_collision_right( x, y, angle, maskMid ) == true )
            {
                x  -=  cos(degtorad(angle));
                y  +=  sin(degtorad(angle));
            }
           
            while (player_collision_left( x, y, angle, maskMid ) == true )
            {
                x  +=  cos(degtorad(angle));
                y  -=  sin(degtorad(angle));
            }
        }

    // ========== PART 3 ==============================================================================================       
        /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        -> Slopes!
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        */
        if (ground == true)
        {
            if ( player_collision_main( x, y ) )
            {
                do
                {
                    x  -=  sin(degtorad(angle));
                    y  -=  cos(degtorad(angle));
                } until ( !player_collision_main( x, y ) )
            }
            if ( player_collision_slope( x, y, angle, maskMid ) && !player_collision_main( x, y ) )
            {
                do
                {
                    x  +=  sin(degtorad(angle));
                    y  +=  cos(degtorad(angle));
                } until ( player_collision_main( x, y ) )
            }
        }

    // ========== PART 4 ==============================================================================================       
        /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        -> Other stuff
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        */
       
        // fall if there isn't enough speed
        if (angle > 80 && angle < 280 && ground == true && abs(x_speed) < 3)
        {
            y_speed =  -sin(degtorad(angle))*x_speed;
            x_speed =  cos(degtorad(angle))*x_speed;
            ground  =  false;
        }
       
        // fall off the ground if the edges aren't colliding
        if (ground == true && angle != 0 &&
            (player_collision_left_edge( x, y, angle ) == false || player_collision_right_edge( x, y, angle ) == false  ))
        {
            y_speed =  -sin(degtorad(angle))*x_speed;
            x_speed =  cos(degtorad(angle))*x_speed;
            ground  =  false;
        }       
       
        // get new angle
        if (ground == true && player_collision_left_edge( x, y, angle ) && player_collision_right_edge( x, y, angle ))
        {
            // Store the new angle
            angle_holder  =  player_get_angle( x, y, angle );
           
            // Check if difference is less than 45. If it is, linear interpolate the angle, so it results on smoother rotation.
            // Otherwise, set the new angle normally. Remember that linear interpolation formula is the next:
            //
            // final = a*t + b*(1-t); where t is the interpolation value, wich goes from 0 to 1
            //
            // There's also a shorter and faster method, wich is the one we're going to use:
            //
            // final = a + (b-a)*t;
           
            if (abs(angle-angle_holder)<45) angle = angle + (angle_holder-angle)*0.5;
            else                            angle = angle_holder;
        } else {
            angle  =  0;
        }

.... VELHO o negócio é muito complicado... então vou passar o tuto Happy

BREVE... (Tentando Ospedar Happy)
_______________________________________

EDIT


ta aqui o tuto... bem deixe tudo que está renomeado como esta no tuto... menos o sprite do sonic e do looping!!!

nome dos objectos também... menos o do sonic.... o do looping deixa o mesmo que ta no tuto Happy

bem sem mais demorasta aki o link...(demorou um POKO pois minha net ta muito boa :X )

http://www.4shared.com/file/106270309/243cfa8f/Looping_Sonic_No_ta_to_bom_mais__oq_eu_achei_mais_fcil_em_te_mostrar_.html%22%20target=_blank%3ELooping%20Sonic...%20Não%20ta%20tão%20bom%20mais%20é%20oq%20eu%20achei%20mais%20fácil%20em%20te%20mostrar%20%5E%5E.gmk

ta ae... é bem simples... naum sei se vai ser exactamente oq você queria mas ta ae.. Happy

qualquer coisa comente aki Happy

Kevin

Ranking : Nota C
Número de Mensagens : 1166
Idade : 22
Data de inscrição : 14/11/2008
Notas recebidas : C - C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://www.programaCODM.webs.com/

Voltar ao Topo Ir em baixo

Re: Sonic (Looping)

Mensagem por Conteúdo patrocinado Hoje à(s) 17:57


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum