Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Personagens aleatórios
- romano.martino
- Novato
- Reações: 0
- Mensagens: 18
Personagens aleatórios
Boa tarde gente, estou fazendo um jogo simples estilo aquele do google quando não tem internet, ou seja, o personagem está estático, o background que se movimenta e aparecem obstáculos aleatoriamente do "final" da room.
Bom, já fiz tudo, a única coisa que não estou conseguindo fazer é o obstáculo aparecer em tempos aleatórios, da ultima vez que tentei fazer no GM8, usei alarm e irandom com um espaço de 90 a 210 steps se não me engano, só que ele no terceiro ou quarto obstáculo eles começavam a aparecer dois de uma vez, um grudado no outro, aí não dava pra pular e sempre perdia...
Enfim, a minha dúvida é como fazer esse obstáculo, no caso, um inimigo, aparecer em um intervalo de tempo aleatório E com uma sprite de inimigo aleatória. Será que vcs poderiam me dar uma luz?
Agradeço desde já.
Bom, já fiz tudo, a única coisa que não estou conseguindo fazer é o obstáculo aparecer em tempos aleatórios, da ultima vez que tentei fazer no GM8, usei alarm e irandom com um espaço de 90 a 210 steps se não me engano, só que ele no terceiro ou quarto obstáculo eles começavam a aparecer dois de uma vez, um grudado no outro, aí não dava pra pular e sempre perdia...
Enfim, a minha dúvida é como fazer esse obstáculo, no caso, um inimigo, aparecer em um intervalo de tempo aleatório E com uma sprite de inimigo aleatória. Será que vcs poderiam me dar uma luz?
Agradeço desde já.
- Rodrigo Santiago
- Colaborador
- Reações: 0
- Mensagens: 273
-
Re: Personagens aleatórios
Isso certamente foi um erro no seu código. Mas vamos ao que interessa :
[create]
[step]
Coloca esse objeto no lugar onde você quer que os inimigos apareçam
[create]
Código: Selecionar todos
randomize(); //so pra ajudar no aleatorio
inimigos[0] = Obj_Inimigo1;
inimigos[1] = Obj_Inimigo2;
//[..etc]
timer = 0;
Código: Selecionar todos
if (timer <= 0) {
timer = irandom_range(90,210);
instance_create(x ,y ,inimigos[irandom_range(0,array_length_1d(inimigos))];
} else {
timer -= 1;
}
- romano.martino
- Novato
- Reações: 0
- Mensagens: 18
Re: Personagens aleatórios
Opa, aparentemente funcionou, agora outra treta que deu aqui é quanto ao HighScore...no GM8 era simples, vc perdia e usava o D&D e aparecia o Highscore pra vc adicionar seu nome, porem no Studio não tem mais essa função, eu só consegui fazer aparecer o highscore, mas não editar na hora, como seria o código para fazer isso?
Re: Personagens aleatórios
Bem, experimente fazer o seu highscore de acordo com este tutorial.
Se você seguir o tutorial corretamente não havera problemas. Flw!
Se você seguir o tutorial corretamente não havera problemas. Flw!
- romano.martino
- Novato
- Reações: 0
- Mensagens: 18
Re: Personagens aleatórios
Rapaz, eu devo ser meio burro, pq comigo não deu certo não, ele dá erro na hora que colide com o inimigo..não consegui entender muito bem o código do cara..nunca fui bom com for :/
- Rodrigo Santiago
- Colaborador
- Reações: 0
- Mensagens: 273
-
- romano.martino
- Novato
- Reações: 0
- Mensagens: 18
Re: Personagens aleatórios
Isso, entrei no tutorial que o Dust mandou, mas não deu muito certo...a minha ideia era fazer igual no GM8, a hora que perde, aparece a lista de highscore e vc pode colocar seu nome, mas pelo oq eu vi em um tutorial da YoYo Games, o que dá pra fazer no Studio é criar o arquivo .ini, ai a hora que vc perde, o jogo grava seu score automaticamente no arquivo, aí depois vc cria uma room de highscores, com um botão no menu inicial levando à essa room, e lá vc só vê os scores. No GM8 era mais fácil, pelo menos pra mim :/
EDIT
Ahh, esqueci de falar, o código que vc sugeriu pra aparecer os personagens aleatórios funcionou só enquanto era um personagem só, quando adicionei mais um inimigo ele deu erro nessa linha:
EDIT
Ahh, esqueci de falar, o código que vc sugeriu pra aparecer os personagens aleatórios funcionou só enquanto era um personagem só, quando adicionei mais um inimigo ele deu erro nessa linha:
Código: Selecionar todos
instance_create(x ,y ,inimigos[irandom_range(0,array_length_1d(inimigos))]);
- Superbomber
- Programador
- Reações: 0
- Mensagens: 283
- Localização: Natal-RN
-
Re: Personagens aleatórios
Romano, tente desta forma:
Lembre-se de antes de pedir ajuda tentar usar a lógica para resolver o problema, mesmo que leve 2 horas.
Como o primeiro índice de uma array é zero, o ultimo índice é o tamanho da array menos um.
Ex.: arr[0] = 9001;
O comprimento da array é um, se você tentar acessar o índice um da array irá dar erro.
Enquanto ao highscore, veja no docs sobre as funções prefixadas por highscore_.
> https://docs.yoyogames.com/source/dadiospice/002_reference/social%20gaming/achievements%20and%20leaderboards/local%20high%20scores/index.html
Bye.
Código: Selecionar todos
instance_create(x ,y , inimigos[ irandom_range( 0, array_length_1d(inimigos) - 1 ) ]);
Como o primeiro índice de uma array é zero, o ultimo índice é o tamanho da array menos um.
Ex.: arr[0] = 9001;
O comprimento da array é um, se você tentar acessar o índice um da array irá dar erro.
Enquanto ao highscore, veja no docs sobre as funções prefixadas por highscore_.
> https://docs.yoyogames.com/source/dadiospice/002_reference/social%20gaming/achievements%20and%20leaderboards/local%20high%20scores/index.html
Bye.
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script
- romano.martino
- Novato
- Reações: 0
- Mensagens: 18
Re: Personagens aleatórios
Opa, agora funcionou SuperBomber, foi mal é que a minha lógica (principalmente quando o assunto é array ou laço (for)) é péssima desde os tempos de faculdade nas aulas de lógica de programação...e como "estudei" lógica a anos atrás, não sou muito bom...
Enfim, quanto aos highscores, além de não estar conseguindo fazer, a minha dúvida é a seguinte: como funciona no mobile o arquivo .ini? depois de instalado no celular, aonde ele vai criar esse arquivo? Em uma pasta do cel? Ah..e eu dei uma boa lida na documentação da YoYo sobre highscore que não me ajudou muito não...amanhã assim que voltar do serviço irei pesquisar alguns vídeos, não quero um score mt elaborado, só aquela lista de 10 mesmo e ir adicionando quando bate algum record..nada de mais, mas eu acho q dou conta de desvendar isso aí :)
EDIT
Ai galera, tudo certo? Bom, consegui fazer a gravação do score deu certo, ok, porém agora temos um novo problema, antes de inserir os códigos do score, aparentemente estava tudo rodando perfeito, mas agora, se eu pulo, não perde mais no primeiro contato com o inimigo, ou seja:
Começou a room do jogo, eu dei um pulo só por diversão, fiquei esperando o inimigo bater em mim, ele simplesmente para em mim e eu não perco o jogo, só perco quando o próximo encostar, isso se eu não pular novamente. Outro problema na colisão é se eu encosto na cabeça do inimigo, fica o sprite da queda no personagem principal, eu não perco, e o inimigo trava aonde ocorreu o contato. Esses são os problemas de colisão, mas temos outro em relação ao som do jogo.
Bom, na primeira vez que roda o jogo é tudo perfeito em relação a sons, porém, depois de eu gravar o score ao perder, aparece a room que mostra os scores e tem o botão de voltar, que volta para a seleção de personagens, enfim, a partir daí os sons já não funcionam mais, a tela de seleção fica muda, se voltar para o menu inicial o mesmo também fica mudo, se eu escolher um novo personagem a room do jogo tbm não tem trilha sonora, os sons de seleção e de voltar também não funcionam...
Bom, na verdade agora estou no serviço, mas o código é que coloquei é mais ou menos assim:
Criei um evento "Room Start" e usei o D&D pra iniciar o som, e outro evento de ao sair da room com o D&D de parar o som..não sei se é assim mesmo ou se tem outra maneira para evitar esses tipos de bug, se quiserem mais detalhes é só pedir que depois mando.
Enfim, quanto aos highscores, além de não estar conseguindo fazer, a minha dúvida é a seguinte: como funciona no mobile o arquivo .ini? depois de instalado no celular, aonde ele vai criar esse arquivo? Em uma pasta do cel? Ah..e eu dei uma boa lida na documentação da YoYo sobre highscore que não me ajudou muito não...amanhã assim que voltar do serviço irei pesquisar alguns vídeos, não quero um score mt elaborado, só aquela lista de 10 mesmo e ir adicionando quando bate algum record..nada de mais, mas eu acho q dou conta de desvendar isso aí :)
EDIT
Ai galera, tudo certo? Bom, consegui fazer a gravação do score deu certo, ok, porém agora temos um novo problema, antes de inserir os códigos do score, aparentemente estava tudo rodando perfeito, mas agora, se eu pulo, não perde mais no primeiro contato com o inimigo, ou seja:
Começou a room do jogo, eu dei um pulo só por diversão, fiquei esperando o inimigo bater em mim, ele simplesmente para em mim e eu não perco o jogo, só perco quando o próximo encostar, isso se eu não pular novamente. Outro problema na colisão é se eu encosto na cabeça do inimigo, fica o sprite da queda no personagem principal, eu não perco, e o inimigo trava aonde ocorreu o contato. Esses são os problemas de colisão, mas temos outro em relação ao som do jogo.
Bom, na primeira vez que roda o jogo é tudo perfeito em relação a sons, porém, depois de eu gravar o score ao perder, aparece a room que mostra os scores e tem o botão de voltar, que volta para a seleção de personagens, enfim, a partir daí os sons já não funcionam mais, a tela de seleção fica muda, se voltar para o menu inicial o mesmo também fica mudo, se eu escolher um novo personagem a room do jogo tbm não tem trilha sonora, os sons de seleção e de voltar também não funcionam...
Bom, na verdade agora estou no serviço, mas o código é que coloquei é mais ou menos assim:
Criei um evento "Room Start" e usei o D&D pra iniciar o som, e outro evento de ao sair da room com o D&D de parar o som..não sei se é assim mesmo ou se tem outra maneira para evitar esses tipos de bug, se quiserem mais detalhes é só pedir que depois mando.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes