Conectar-se
Quem está conectado
27 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 27 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

[Engine] Movimento Limpo 2.0 - Willy

em Dom 18 Ago 2013, 18:26
Reputação da mensagem: 100% (4 votos)
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:

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)
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 80

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

Re: [Engine] Movimento Limpo 2.0 - Willy

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.
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 177

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: [Engine] Movimento Limpo 2.0 - Willy

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!
avatar
Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 162

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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
avatar
Data de inscrição : 17/11/2012
Número de Mensagens : 138
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 30

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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
avatar
Ranking : Nota D
Notas recebidas : D + D
Data de inscrição : 06/04/2012
Número de Mensagens : 682
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 42

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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.
Data de inscrição : 01/05/2013
Número de Mensagens : 64
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Engine] Movimento Limpo 2.0 - 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!
avatar
Data de inscrição : 16/08/2013
Número de Mensagens : 15
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

em Dom 25 Ago 2013, 19:56
Comentando só pq você fechou meu jogo '-'

ótimo tutorial parabéns ! Very Happy
avatar
Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 162

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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!
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Engine] Movimento Limpo 2.0 - 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
avatar
Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 162

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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 ?
=)
avatar
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 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 13

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Engine] Movimento Limpo 2.0 - 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.
avatar
Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 162

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

em Ter 03 Set 2013, 19:31
Sabia! Vc é o cara!

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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

em Sex 20 Set 2013, 17:42
da uma preguiça de le td isso ,-,
Data de inscrição : 01/05/2013
Número de Mensagens : 64
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

em Dom 22 Set 2013, 11:59
ruanzera: nossa cara, assim você vai longe '-'
avatar
Data de inscrição : 22/04/2013
Número de Mensagens : 163
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 17

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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! =)
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Engine] Movimento Limpo 2.0 - Willy

em Sex 27 Set 2013, 13:13
Reputação da mensagem: 100% (1 votos)
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).
________________________
avatar
Data de inscrição : 28/09/2013
Número de Mensagens : 21
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: [Engine] Movimento Limpo 2.0 - Willy

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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum