Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Movimento personalizado (by Kabecao) pt1 Atualizado com engine
+4
RKNF1995
Gusba
KinKing
Kabeção
8 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Atualização: Incerido um link para a engine de exemplo na parte "Vamos testar essa noção de controle q passei". ;)
by Kabeção
Nivel: iniciante plus
Descrisão: Com isso vc vai poder usar dois personagens ao mesmo tempo na tela e controlalos simutaneamente por codigo. da ate pra vc controlar e montar tipo um filme sem alterar os controles e criar codigos imensos pra isso. aprendi isso com engines por ai e aperfeisoando-as.
Meu primeiro tuto aq.
Ta ae, sem preguiça leia tudo pra entender:
Controle de movimento personalizado
Vamos começar então:
No Evento create do char (personagem. sempre chamo assim)
Crie variaveis para os controles:
Proximo passo:
No evento Begin Step, digite:
Vamos testar essa noção de controle q passei
No Step normal do char digite:
E bom q faça tudo sozinho, mas vc pode precisar de um exemplo pronto:
mov personalizado1.zip - 1.20MB
Vc sabe usar o Debug do Game Maker. se não vo encinar tb.
coloque uma sprite no obj do char. põe um quadrado qualquer mesmo.
Agora aperte F6 ou o botão da seta vermelha ao lado do Run.
Use as teclas q vc definiu, no exemplo: setas direcionais. O obj esta movimentando perfeitamente. agora vai na janela do Debug, clique em Tools>Execute Code. Na janela q ira aperecer difina bloq_mov como true.
Troque o pelo nome do objeto do char
Agora vamos controlar o char sem a ação do jogador. apenas por codigo.
na janela do Debug va d novo no Execute Code e difina key_down para true:
Isso conclui o q queria encinar. Se quiser vamos para testes mais complicados.
Testes Avançados
Fazendo um pequeno filme durante o jogo
Aqui vo ensinar a usar dois personagens jogaveis na mesma tela e controlos sem alterar os controles e com um codigo q não precisa definir tudo como isso ae:
Irei terminar depois. to sem o GM e meio sem tempo agora. fiquem ligados nas atualizações, ou talvez faça um "parte 2". flw ;)
by Kabeção
Nivel: iniciante plus
Descrisão: Com isso vc vai poder usar dois personagens ao mesmo tempo na tela e controlalos simutaneamente por codigo. da ate pra vc controlar e montar tipo um filme sem alterar os controles e criar codigos imensos pra isso. aprendi isso com engines por ai e aperfeisoando-as.
Meu primeiro tuto aq.
Ta ae, sem preguiça leia tudo pra entender:
Controle de movimento personalizado
Vamos começar então:
No Evento create do char (personagem. sempre chamo assim)
Crie variaveis para os controles:
- Código:
// Variaveis de movimentação
// :: Definindo teclas de Controle :: //
// baixo, cima, esquerda, direta respectivamente
defini_key_down=vk_down
defini_key_up=vk_up
defini_key_left=vk_left
defini_key_right=vk_right
// Acao1 do jogador
defini_key_acao1=vk_space
// :: Definindo variaveis da interação :: //
// São as fundamentais para poder se controlar o char
// Defina tudo como 0 (false), pois não a ação no principio.
key_down=0
key_up=0
key_left=0
key_right=0
key_acao1=0
// Bloqueio de movimento. o ponto chave do q vc queria.
// essa variavel bloqueiara os movimentos do char
bloq_mov=0
// Outros
// Defini a room_speed=60. Fica bem mais suave o movimento
room_speed=60
Proximo passo:
No evento Begin Step, digite:
- Código:
if bloq_mov=0
{
key_down=keyboard_check(defini_key_down)
key_up=keyboard_check(defini_key_up)
key_left=keyboard_check(defini_key_left)
key_right=keyboard_check(defini_key_right)
key_acao1=keyboard_check(defini_key_acao1)
}
Vamos testar essa noção de controle q passei
No Step normal do char digite:
- Código:
if key_left x-=4;
if key_right x+=4;
if key_up y-=4;
if key_down y+=4;
E bom q faça tudo sozinho, mas vc pode precisar de um exemplo pronto:
mov personalizado1.zip - 1.20MB
Vc sabe usar o Debug do Game Maker. se não vo encinar tb.
coloque uma sprite no obj do char. põe um quadrado qualquer mesmo.
Agora aperte F6 ou o botão da seta vermelha ao lado do Run.
Use as teclas q vc definiu, no exemplo: setas direcionais. O obj esta movimentando perfeitamente. agora vai na janela do Debug, clique em Tools>Execute Code. Na janela q ira aperecer difina bloq_mov como true.
Troque o
- Código:
<obj>.bloq_mov=true
Agora vamos controlar o char sem a ação do jogador. apenas por codigo.
na janela do Debug va d novo no Execute Code e difina key_down para true:
- Código:
<obj>.key_down=true
Isso conclui o q queria encinar. Se quiser vamos para testes mais complicados.
Testes Avançados
Fazendo um pequeno filme durante o jogo
Aqui vo ensinar a usar dois personagens jogaveis na mesma tela e controlos sem alterar os controles e com um codigo q não precisa definir tudo como isso ae:
- Código:
if alarm[0]=0
{
if x<200 x+=2;
if x=200 vspeed=-8
// ... e blablabla
}
Irei terminar depois. to sem o GM e meio sem tempo agora. fiquem ligados nas atualizações, ou talvez faça um "parte 2". flw ;)
Última edição por kabecao em Ter 10 Jun 2008, 09:12, editado 2 vez(es)
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Não é mais fácil usar...
if keyboard_check(vk_left) x-=4;
if keyboard_check(vk_right) x+=4;
if keyboard_check(vk_up) y-=4;
if keyboard_check(vk_down) y+=4;
Sem ter que definir key_up como exatamente a mesma coisa de keyboard_check(vk_up), sendo que uma coisa seria a cópia da outra?
if keyboard_check(vk_left) x-=4;
if keyboard_check(vk_right) x+=4;
if keyboard_check(vk_up) y-=4;
if keyboard_check(vk_down) y+=4;
Sem ter que definir key_up como exatamente a mesma coisa de keyboard_check(vk_up), sendo que uma coisa seria a cópia da outra?
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
vc leu todo? e entendeu para q ser isso exatamente?
se vc usar keyboard_check naum vai dar para bloq ar o movimento e controlar os personagens por codigo de um jeito mas simples.Descrisão: Com isso vc vai poder usar dois personagens ao mesmo tempo na tela e controlalos simutaneamente por codigo. da ate pra vc controlar e montar tipo um filme sem alterar os controles e criar codigos imensos pra isso. aprendi isso com engines por ai e aperfeisoando-as. Fiz esse tuto a principio para responder a duvida do Dark Fulgore da PDJ.
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Sim... basta colocar o seguinte:
if !(bloq_mov)
{
if keyboard_check(vk_left) x-=4;
if keyboard_check(vk_right) x+=4;
if keyboard_check(vk_up) y-=4;
if keyboard_check(vk_down) y+=4;
}
Não?
if !(bloq_mov)
{
if keyboard_check(vk_left) x-=4;
if keyboard_check(vk_right) x+=4;
if keyboard_check(vk_up) y-=4;
if keyboard_check(vk_down) y+=4;
}
Não?
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
hehe. vc ainda não entendeu.
se vc usar keyboard_check naum vai dar para bloq ar o movimento e controlar os personagens por codigo de um jeito mas simples.
imagini assim. a função keyboard_check retorna um valor q não pode ser modado a memos q o player aperte ou folte a tecla. com as variaies keys, vc mesmo pode mudar o valor. assim vc pode controlar o movimento por codigo apenas definindo as keys como true.Isso fara com q o objeto mova sem ação do personagem. aperta as setas para ver q não adianta. Seu char ja deve ter desaperecido da tela. Feche o jogo.
Isso conclui o q queria encinar. Se quiser vamos para testes mais complicados.
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Ah, agora entendi... você define as reações do personagem na hora em que as teclas são pressionadas. Por isso desse teu jeito é mais fácil.
Como eu uso, por exemplo...
if keyboard_check(vk_right) direita = true;
...então eu posso travar o movimento de qualquer jeito e usar essas variáveis.
Basicamente eu uso esse jeito aí para o movimento normal, por isso não entendi!
Valeu.
Como eu uso, por exemplo...
if keyboard_check(vk_right) direita = true;
...então eu posso travar o movimento de qualquer jeito e usar essas variáveis.
Basicamente eu uso esse jeito aí para o movimento normal, por isso não entendi!
Valeu.
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
bem e quase isso. as acões ja estao definidas. se quer q o player não controle mais personagem, mas quer q o personagem mova para a direita sozinho. faça isso:KinKing escreveu:Ah, agora entendi... você define as reações do personagem na hora em que as teclas são pressionadas. Por isso desse teu jeito é mais fácil.
Valeu.
- Código:
bloq_mov=false
key_right=true // isso simula o aperto da seta direita, fazendo com q
// o char vai para a direta sem q o player aperte a tecla
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Sim, sim, eu entendo! É que eu uso o mesmo jeito para um personagem sem animações, e tal.
Eu faço o seguinte:
Pelo menos a segunda parte, do if (direita), no step event.
Assim, meu código fica otimizado para alterações, que só precisam ser feitas ou no step ou no create event!
Enfim, é por isso que eu não entendi. Eu já fazia isso que você explicou no movimento normal. Já pensei de rebote em cinematics desse jeito que você falou, mas nunca a fundo. Foi legal ver a teoria explicada!
Eu faço o seguinte:
- Código:
if keyboard_check(vk_right)
{
direita = true;
if (esquerda) esquerda = false;
}
if (direita) hspeed = velocidade;
Pelo menos a segunda parte, do if (direita), no step event.
Assim, meu código fica otimizado para alterações, que só precisam ser feitas ou no step ou no create event!
Enfim, é por isso que eu não entendi. Eu já fazia isso que você explicou no movimento normal. Já pensei de rebote em cinematics desse jeito que você falou, mas nunca a fundo. Foi legal ver a teoria explicada!
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
agora sim chegamos ao um entendimento. hehe ;)
é isso ae mesmo.
depois de ver na teoria, vou fazer um exemplo para a continuação.
ate la.
é isso ae mesmo.
depois de ver na teoria, vou fazer um exemplo para a continuação.
ate la.
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
parabens gostei realmente a um tempo atras eu queria fazer isso num jogo mas como nao sabai acabei desistindo talvez eu de continuidade
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Hehe, vlw.
Esse foi o primeiro post aqui e a parte 2 ta demorando demais porque aprendi umas coisinhas que vou aplicar na continuação que agora sera sobre AI para boss.
Ta ficando da hora a engine, com um exemplo de boss feito de multiplas partes e um player mais um ajudante in game (tipo o Tales que fica segindo o Sonic nos seus jogos).
Mais ainda vai demorar porque o novo mmorpg que arrumei não me deixa continuar a engine.
Esse foi o primeiro post aqui e a parte 2 ta demorando demais porque aprendi umas coisinhas que vou aplicar na continuação que agora sera sobre AI para boss.
Ta ficando da hora a engine, com um exemplo de boss feito de multiplas partes e um player mais um ajudante in game (tipo o Tales que fica segindo o Sonic nos seus jogos).
Mais ainda vai demorar porque o novo mmorpg que arrumei não me deixa continuar a engine.
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
gusba, ressuscitando topicos ne?
zuera
zuera
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Po Gostei do tutorial , vai ser bem útil pra mim hehe
vlw
vlw
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
será que com esse código da pra fazer kage bunshin no jutsu XD
zain- Data de inscrição : 04/02/2009
Reputação : 0
Número de Mensagens : 35
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
Sim. Eu uso isso para controlar outro personagem sem ser o jogador.
Como o adversario num jogo de luta.
Como o adversario num jogo de luta.
Re: Movimento personalizado (by Kabecao) pt1 Atualizado com engine
haveria como vc upar a engine em um outro servidor, pq nao to conseguindo
baixar...
vlw
baixar...
vlw
Tirulink- Data de inscrição : 10/02/2009
Reputação : 0
Número de Mensagens : 17
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Engine de Animação + bonus de movimento simples by Kabecao
» [Engine] Healthbar Personalizado
» Engine Healthbar personalizado sem sprites
» [ENGINE] Pendurar e Subir + Friction Personalizado [ Plataforma ]
» Engine de fisica v2(atualizado)
» [Engine] Healthbar Personalizado
» Engine Healthbar personalizado sem sprites
» [ENGINE] Pendurar e Subir + Friction Personalizado [ Plataforma ]
» Engine de fisica v2(atualizado)
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos