[Engine] Movimento Limpo 2.0 - Willy

Página 1 de 3 1, 2, 3  Seguinte

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

100% [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Willy em Dom 18 Ago 2013, 18:26

Movimento Limpo
Chega de Bugar!

Plataforma: GM8.0 (Funciona no lite SE o objeto "o_professor" não estiver na room)
Dificuldade de utilização: Fácil
Autor: Michael Willy

Introdução:
Uma coisa que sem duvida incomoda muita gente que usa o Game Maker, é a dificuldade em fazer uma colisão decente com um objeto. Quantas vezes não nos deparamos com objetos grudando na parede, batendo de forma errada no teto, ou até ficando preso em quinas?
Este problema acontece principalmente com quem gosta de usar o sistema padrão do GM, que é hspeed, vspeed, gravity e friction. Um dos métodos alternativos seria mover-se alterando diretamente o valor de x ou de y, mas dessa forma, não poderíamos usar friction, que muitas vezes é essencial em um jogo. Mas, com a engine “Movimento Limpo”, os dias destes problemas estão contados!

Proposta:
A engine conta com quatro scripts, scr_hspeed, scr_vspeed, scr_gravity e scr_friction.
Com estes scripts, é possível reproduzir os mesmos comandos do GM, porém, com a garantia de uma colisão perfeita, independente da velocidade que esteja movendo-se.
Ao executar a engine, você terá um guia, mostrando o potencial da engine.

Como usar o scr_hspeed e o scr_vspeed:
Como usar o scr_hspeed e o scr_vspeed

Função
Fazer um movimento com uma colisão perfeita, independente da velocidade que o objeto esteja se movendo, seja em números inteiros ou fracionários.

Argumentos
O script lida com três argumentos, velocidade (arg0), opção (arg1) e objeto (arg2).

“Velocidade” (argument0) é a velocidade na qual o objeto que chamou o script deve se mover. Para o scr_hspeed, números positivos (inteiros ou fracionários) fazem o objeto mover-se à direita, números negativos, à esquerda. Para o scr_vspeed, números positivos (inteiros ou fracionários) fazem o objeto mover-se para baixo, números negativos, para cima.

“Opção” (argument1) é usado opcionalmente. Neste argumento, deve-se escolher uma das três opções abaixo:
0 – Colisão com apenas objetos sólidos.
1 – Colisão com apenas um objeto especifico, seja sólido ou não.
2 – Colisão com qualquer objeto sólido e/ou com um objeto especifico.
Importante:
• Se a opção desejada for a zero, você pode chamar o script passando apenas o argument0 (velocidade), mas você pode colocar a opção zero se desejar.  Ex.: scr_hspeed(4);
• Se a opção desejada for a um, você deve colocar o terceiro argumento. Caso contrário, o script será anulado, pois seu objeto vai se mover, mas não vai parar em obstáculos, a menos que a opção seja a dois, pois ele vai parar apenas em objetos sólidos.
• Se a opção escolhida for inexistente, a padrão (zero) será selecionada.

“Objeto” (argument2) é o nome (ou id) do objeto (sólido ou não) que o script deve considerar como obstáculo para fazer o objeto que chamou o script parar. Este argumento só deve ser colocado apenas se o argument1 for 1 ou 2. Caso seja zero, este argumento simplesmente será ignorado e inutilizado.

Note que o script retorna true quando consegue se mover e false quando não consegue.

Controles:
-“Setas” movimentam.
-“Enter” fala com o guia.

Imagens:
Spoiler:


Download Versão 2.0:
(Agradecimentos especiais a PedroX. Agora, é possível mover-se em 360 direções com a colisão perfeita!)

Versão GM8: Download
Versão GMS: Download

Versão 1.0:
4Shared
MediaFire

Toda a engine foi criada e desenvolvida por mim, Michael Willy e seu conteúdo podem ser usados livremente. Créditos não são necessários, mas apreciados.

Créditos para Matheus Reis pela versão de meu avatar no fórum (spr_willy).
Créditos para Pedrox pelo scr_speed();

Em caso de dúvidas, críticas, sugestões ou elogios, deixe um comentário no fórum.
Para mais engines, tutoriais e projetos open-source, acesse:
www.willy-gmbr.blogspot.com

Michael Willy - 15/08/2013


Última edição por Willy em Sex 22 Nov 2013, 16:46, editado 8 vez(es) (Razão : Título)

Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1812
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por theguitarmester em Dom 18 Ago 2013, 18:54

Vou Comentar só porque o Pequeno Willy pediu geek

Bom, eu tenho uma engine que faz um movimento perfeito também em VisãodeCima/topdown, ainda não postei no fórum(pretendo um dia), pensei "ele deve ter feito algo parecido" mas os code para não grudar não bem diferentes. Minha engine é só isso(porqeu fiz para uso própio), mas a sua tem bastante coisa, funciona com êxito, e flui bem.


Ela é bem boa, e pode ser muito útil, tanto para iniciantes quanto outros.

Só aconselho os iniciantes a tentarem entender, e não simplesmente copiar e usar.

theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Alex FC em Dom 18 Ago 2013, 20:43

Ótimo trabalho WillyWonka. Sempre com bom humor.

Uso um sistema parecido (Mas melhor, lógico).

Já até coloquei na fan page do Facebook. Vai ajudar muita gente!

FLWS!

Alex FC

Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2503
Insígnias de JAM :

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por fredcobain em Seg 19 Ago 2013, 10:55

Willy, obrigado por compartilhar. Dei uma olhada nos códigos, e ficou bastante enxuto. Parabéns.

Acho que vc poderia colocar um exemplo que use gravidade e fricção (um jogo de plataforma clássico) para mostrar realmente a qualidade da engine.

Abraço.
Fred

fredcobain

Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Bruno_13 em Seg 19 Ago 2013, 14:05

(kkkkkkkkkkkkkkkkk so to comentando porque o willi me fez ri pa caraio) parabens gostei da sua engine continua assim Happy

Bruno_13

Data de inscrição : 17/11/2012
Número de Mensagens : 138
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por willcraft2 em Seg 19 Ago 2013, 15:41

Eu sai do forum mais eu olhando na facebook vi essa engine postada la e entrei baixei e só to comentando por que você fez eu rir pra ******* .

Então vei sua engine ta muito boa não encontrei bugs nenhum e a colisão sempre perfeita, continua assim.

willcraft2

Ranking : Nota D
Notas recebidas : D + D
Data de inscrição : 06/04/2012
Número de Mensagens : 682
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por lucas.limeira.92 em Seg 19 Ago 2013, 17:54

O willy ensinadero da engine não me deixou ficar sem comentar aqui!Ótima engine,vai ajudar muita gente, tudo muito bem explicado.A colisão default do game maker bem que podia ser assim

lucas.limeira.92

Data de inscrição : 01/05/2013
Número de Mensagens : 64
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Willy em Dom 25 Ago 2013, 19:28

Primeiramente, obrigado a todos pelos comentários. Pelo visto o pequeno Willy incentivou bastante!


theguitarmester:
Poste sua engine também, por mais que ambas tenham uma função semelhante, conteúdo nunca é demais.

Alex FC:
O humor quando usado sem exageros só traz coisas boas, no meu caso, serviu pra estimular os comentários.
Espero que ajude mesmo!
Obrigado pelo post no Facebook! blz

fredcobain:
Obrigado, eu procuro sempre deixar os códigos claros e curtos, sem deixar a legibilidade de lado.
Quando a gravidade e a friction, existem exemplos dela na engine. Pelo visto, você não conversou com o "pequeno Willy", pois, conforme você fala com ele, ele vai alterando o personagem. Chega uma hora em que é habilitada a gravidade, simulando um jogo de plataforma. Olha lá de novo!

Bruno_13:
Mais um que se divertiu com o tutor... Grato pelo comentário!

willcraft2:
Vocês riram lendo, mas nem imaginam como eu ri escrevendo (tipo, ri muito mesmo, sabe, que nem um hiena). A questão da colisão sempre me incomodou, já fiz várias versões, mas esta parece ser a mais eficiente.

lucas.limeira.92:
Espero que um dia o GM aprimore a colisão, mas até lá, ficaremos com as versões alternativas, mesmo que sejam menos intuitivas.

Obrigado a todos!
Até Breve!

Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1812
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por junilinho em Dom 25 Ago 2013, 19:56

Comentando só pq você fechou meu jogo '-'

ótimo tutorial parabéns ! Very Happy

junilinho

Data de inscrição : 16/08/2013
Número de Mensagens : 15
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por fredcobain em Dom 25 Ago 2013, 20:41

Realmente, Willy, vi a engine como um todo agora.
Excelente engine. Colisão perfeita mesmo.

Se quiser alguma sugestão, acho que vc pode fazer um platform engine com algumas features (tipo blocos fantasmas), pular na cabeça dos inimigos, etc.

E claro, que a engine pudesse ser mais facilmente customizada (como alterar o valor máximo da velocidade, gravidade, fricao, etc no create event do player).

Se vc tiver saco pra trabalhar nisto, vai ser excelente.
=)

Valeuu!

fredcobain

Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Willy em Dom 01 Set 2013, 15:45

junilinho:
Obrigado pelo comentário!

fredcobain:
Obrigado pelo elogio.
Pensei em fazer uma engine com esses recursos, mas ela já existe (Combo de Plataforma), além do mais, fugiria do foco da engine.
Referente à customização, também percebi que ficou com pouco complicado de se usar, pois, até eu precisei recorrer a engine pra ver como se usava quando fui aplicar em um projeto meu. Pensei em fazer uma GEX, mas percebi que a galera não gosta muito de usar.
Quem sabe em uma versão futura...

Até Breve! blz

Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1812
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por fredcobain em Dom 01 Set 2013, 22:59

Willy, eu conheço sua engine.
Como vc mesmo tinha notado, tem um bug nela.

Agora que seu conhecimento de GML é bem maior vc pode lançar uma versão bugless. O que acha ?
=)

fredcobain

Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Livsk em Seg 02 Set 2013, 13:24

Obrigado por postar a Engine. Realmente muito boa. Sempre tive problemas com colisão, a engine ajudará muito.


Flw.

Livsk

Ranking : Nota C
Notas recebidas : C + C + D + D + D + D + B + B + A + C + B
Data de inscrição : 02/06/2011
Número de Mensagens : 364
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Willy em Ter 03 Set 2013, 19:00

Realmente, tinha um bug. Antes de postar a nova engine, eu tentei fazer a plataforma vertical, e adivinhe só, funcionou perfeitamente!
Bom, farei uma nova versão com este sistema aplicado. Em bre postarei.

Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1812
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por fredcobain em Ter 03 Set 2013, 19:31

Sabia! Vc é o cara!

:-)

fredcobain

Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por ruanzera em Sex 20 Set 2013, 17:42

da uma preguiça de le td isso ,-,

ruanzera

Ranking : Nota E
Notas recebidas : E
Data de inscrição : 20/03/2013
Número de Mensagens : 87
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por lucas.limeira.92 em Dom 22 Set 2013, 11:59

ruanzera: nossa cara, assim você vai longe '-'

lucas.limeira.92

Data de inscrição : 01/05/2013
Número de Mensagens : 64
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Magritte em Qua 25 Set 2013, 16:07

Muito boa a engine, creio que vai ajudar bastante as pessoas =)
Quando eu for usar algo da engine contar com o seu nome nos créditos =)
Obrigado por compartilhar conosco está ótima engine!
Att: Magritte

EDIT: Eu não consegui subir as 'escadas verde' sou uma decepção xD (culpa minha) e depois que eu 'zerei' a engine, eu fiquei, fiquei e fiquei, li todas as 'suas' falas xD todas mesmo...

EDIT²: Não sou mais uma decepção, consegui subir as escadas! =)

Magritte

Data de inscrição : 22/04/2013
Número de Mensagens : 163
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Willy em Sex 27 Set 2013, 13:13

Comentários! felicidade

Não se deixem desmotivar pelo tamanho ou complexidade do código... Garanto que o esforço valerá a pena.

Magritte, obrigado por baixar e comentar! Eu não exijo créditos, mas fico feliz quando isso acontece.

________________________
Galera, fui comunicado por MP que durante uma tentativa de execução deu um erro no script scr_hspeed informando que faltavam dois argumentos. Aparentemente isso só ocorre no GM8.1. Se acontecer com vocês, é só colocar os outros dois argumentos (0, noone).
________________________

Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1812
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por BrunoMotaSantos em Ter 01 Out 2013, 07:57

Engine ótima,e esse William me fez rir tanto ,sem contar que ele apresenta muito bem a engine além do mais no código da engine estão vários comentários o que possibilita entendermos perfeitamente a engine!, Parabéns William.

BrunoMotaSantos

Data de inscrição : 28/09/2013
Número de Mensagens : 21
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

100% Re: [Engine] Movimento Limpo 2.0 - Willy

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Página 1 de 3 1, 2, 3  Seguinte

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