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

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/06/2013
Número de Mensagens : 60
Insígnias de JAM :

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

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

[pergunta] arkanoid

em Ter 09 Jul 2013, 09:10
Galera estou fazendo outro joguinho uma engine simples de arkanoid mas tenho uma duvida:
como faço para a bola seguir o player? ou seja a bola fica em cima do player dai só quando eu clico espace ele começa a se mexer mas antes disto eu posso andar para qualquer lado que ela vai ficar em cima dele ? se alguém poder ajudar eu ficaria agradecido
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [pergunta] arkanoid

em Ter 09 Jul 2013, 09:40
Você tem que usar uma variável no objeto da bola para saber se o jogador já apertou espaço ou não. Enquanto não apertou, o valor dela deve ser false (ou seja, desde o evento Create), e ao apertar espaço, deve virar true. Então, no step da bola, você testa se aquela variável é false. Se for, posiciona a bola no lugar certo.

Algo assim:

Código:
// Create
jogou = false;

// Ao apertar espaço
if (!jogou)
{
    jogou = true;
    ... // Define a direção e velocidade iniciais
}

// No step
if (!jogou)
{
    x = [objeto player].x + a;
    y = [objeto player].y + b;
}
// Onde a e b são valores que você tem que usar
// para ajustar a posição da bola em relação ao player
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/06/2013
Número de Mensagens : 60
Insígnias de JAM :

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

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

Re: [pergunta] arkanoid

em Ter 09 Jul 2013, 09:56
isto eu já fiz eu quero saber como faço para a bola ficar em cima da "tabuinha" (player) mesmo eu me movendo ela fique em cima de mim e só saia quando eu pressionar espaço (já fiz as variaveis e esta tudo certo)
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [pergunta] arkanoid

em Ter 09 Jul 2013, 11:06
Mas foi isso que eu disse como fazer no post anterior. Se a variável for false, você posiciona a bola no lugar certo. Ou seja, você testa no step da bola se ela ainda não foi "lançada". Enquanto não foi, você altera o x e y da bola de acordo com o x e y do player.

Você abriu o spoiler no meu outro post? Eu coloquei:
Código:
// No step
if (!jogou)
{
    x = [objeto player].x + a;
    y = [objeto player].y + b;
}
// Onde a e b são valores que você tem que usar
// para ajustar a posição da bola em relação ao player
Ou seja, se a variável jogou for false (ainda não apertou espaço), a posição da bola é alterada para ficar em cima do player.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/06/2013
Número de Mensagens : 60
Insígnias de JAM :

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

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

Re: [pergunta] arkanoid

em Ter 09 Jul 2013, 11:44
da um erro no x
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

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

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

Re: [pergunta] arkanoid

em Ter 09 Jul 2013, 13:06
Você tem que ser mais específico, o que o erro diz?

Se você só copiou e colou os códigos que escrevi, não era pra funcionar mesmo. Se você não percebeu, onde eu coloquei [objeto player] é pra você colocar o nome do seu objeto.

E você ainda tem que considerar aqueles valores "a" e "b" que eu coloquei. Assumindo que o nome do objeto seja "player", se você simplesmente colocar na bola "x = player.x;" e "y = player.y;" não vai ficar certo, você tem que somar/subtrair algum valor (que depende do tamanho dos seus sprites) pra ficar na posição certa.
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