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
» 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
» 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
problema no meu jogo
3 participantes
Página 1 de 1
problema no meu jogo
oi galera!!eu to com um problema aqui é que quando eu vo testar meu
jogo o sonic ja começa acelerando sem eu fazer nada
pra vocês intenderem melhor meu problema vou botar o código
que coloquei no step do sonic aqui está ele:
no create eu coloquei direction 270 e gravity 0.5
e na colisão com o bloco eu coloquei vert speed 0
e botei uma mask no sonic
espero que possam responder
fico aguardando uma resposta
jogo o sonic ja começa acelerando sem eu fazer nada
pra vocês intenderem melhor meu problema vou botar o código
que coloquei no step do sonic aqui está ele:
- Código:
if hspeed > 0
{
sprite_index=sonic_walking
image_xscale=1
}
if hspeed < 0
{
sprite_index=sonic_walking
image_xscale-=1
}
if hspeed > 8
{
sprite_index=sonic_running
image_xscale=1
}
if hspeed < 8
{
sprite_index=sonic_running
image_xscale-=1
}
if hspeed > 17
{
sprite_index=sonic_run_fast
image_xscale=1
}
if hspeed < 17
{
sprite_index=sonic_run_fast
image_xscale-=1
}
if hspeed > 25
{
hspeed=25
}
if hspeed < 25
{
hspeed=25
}
if keyboard_check_pressed(vk_right)
{
hspeed+=1
}
if keyboard_check_pressed(vk_left)
{
hspeed-=1
}
if keyboard_check_released(vk_right)
{
hspeed-=1
}
if keyboard_check_released(vk_left)
{
hspeed-=1
}
if hspeed=0
{
sprite_index=sonic_standing
hspeed=0
}
no create eu coloquei direction 270 e gravity 0.5
e na colisão com o bloco eu coloquei vert speed 0
e botei uma mask no sonic
espero que possam responder
fico aguardando uma resposta
sonicfan1- Data de inscrição : 26/07/2009
Reputação : 0
Número de Mensagens : 138
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: problema no meu jogo
Quando você usa direction e gravity o GM automaticamente calcula valores de hspeed e vspeed pra direção selecionada. Na verdade o que o GM faz é calcular toda velocidade expressa em direction e speed em valores de vspeed e hspeed. Pra resolver seu problema vc deveria usar uma outra variável sua para controlar a aceleracao ao invés do próprio hspeed. Por isso que nao funciona, ja que vc define gravidade no CREATE o hspeed vai ser na maioria das vezes <> 0.
Re: problema no meu jogo
Acho que o seu erro está nessa parte !if hspeed > 8
{
sprite_index=sonic_running
image_xscale=1
}
if hspeed < 8
{
sprite_index=sonic_running
image_xscale-=1
}
if hspeed > 17
{
sprite_index=sonic_run_fast
image_xscale=1
}
if hspeed < 17
{
sprite_index=sonic_run_fast
image_xscale-=1
}
if hspeed > 25
{
hspeed=25
}
if hspeed < 25
{
hspeed=25
}
Lá em cima primeiro voce colocou:
- Código:
if hspeed<8{ }
- Código:
if hspeed< -8 { }
E depois :
- Código:
if hspeed<17{ }
- Código:
if hspeed< -17{ }
E depois onde está o pior erro, oque faz o sonic já sair andando:
- Código:
if hspeed <25{ hspeed=25 }
entende ?
O certo seria:
- Código:
if hspeed< -25 { hspeed=-25 }
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: problema no meu jogo
denis.l ajeitei o código e até que deu certo mas,Vinians como posso fazer o objeto acelerar com uma variavel?
sonicfan1- Data de inscrição : 26/07/2009
Reputação : 0
Número de Mensagens : 138
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: problema no meu jogo
Eu fiz uma sistema de velocidade para o meu joguinho utilizando X e Y !denis.l ajeitei o código e até que deu certo mas,Vinians como posso fazer o objeto acelerar com uma variavel?
Coloque no create do seu personagem:
- Código:
velocidade=0
- Código:
velocidade+=1
- Código:
velocidade-=1
No step:
- Código:
x+=velocidade
if velocidade>10{ velocidade=10}
if velocidade<-10{ velocidade=-10}
Está aí uma esquema de movimento quase igual o de hspeed !!!
Só que para fazer a "fricção" eu vou te deixar pensar um pouquinho, para ninguém ficar mal acustumado à receber tudo de bandeija, mas se não conseguir, me avisa que logo eu posto como que é !!!
Tchau !!!
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: problema no meu jogo
Denis eu não sei fala porfavor
PS:eu não vou só copiar e colar mas tambem vou estudar o código
pra aprender com ele
PS:eu não vou só copiar e colar mas tambem vou estudar o código
pra aprender com ele
sonicfan1- Data de inscrição : 26/07/2009
Reputação : 0
Número de Mensagens : 138
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: problema no meu jogo
adiciona lá no create:
E também adiciona lá step :
Só que isso pode fazer a sua arrancada diminuir... Então lá nos eventos de " keyPress " right e left coloque o valor para 1.5 em cada um !
- Código:
freio=.5
E também adiciona lá step :
- Código:
//fricção
if velocidade>0{
velocidade-=freio
if velocidade<=0{
velocidade=0
}
}
if velocidade<0{
velocidade+=freio
if velocidade>=0{
velocidade=0
}
}
Só que isso pode fazer a sua arrancada diminuir... Então lá nos eventos de " keyPress " right e left coloque o valor para 1.5 em cada um !
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: problema no meu jogo
como assim? em que variaveis eu coloco isso?
sonicfan1- Data de inscrição : 26/07/2009
Reputação : 0
Número de Mensagens : 138
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: problema no meu jogo
Não tem que colocar em variáveis nenhuma !
Para ficar mais fácil era bom você criar um novo projeto e fazer passo à passo !
E no Evento create do seu personagem colocar :
E no evento Seta para Direita :
Se não conseguir eu te mando uma engine, é só falar !!!
Tchau !!!
Para ficar mais fácil era bom você criar um novo projeto e fazer passo à passo !
E no Evento create do seu personagem colocar :
- Código:
freio=.5 // Regule do seu gosto
velocidade=0 // aqui deixe como "0'' mesmo
E no evento Seta para Direita :
- Código:
if place_free(x+1,y){
velocidade+=1.5
}
- Código:
if place_free(x-1,y){
velocidade-=1.5
}
- Código:
x+=velocidade
if velocidade>10{ velocidade=10}
if velocidade<-10{ velocidade=-10}
// fazer a fricção do personagem
if velocidade>0{
velocidade-=freio
if velocidade<=0{
velocidade=0
}
}
if velocidade<0{
velocidade+=freio
if velocidade>=0{
velocidade=0
}
}
Se não conseguir eu te mando uma engine, é só falar !!!
Tchau !!!
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Tópicos semelhantes
» problema com meu jogo.
» problema com meu 1° jogo
» Problema no meu jogo
» Problema com jogo
» problema com jogo isometrico
» problema com meu 1° jogo
» Problema no meu jogo
» Problema com jogo
» problema com jogo isometrico
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos