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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Pulando em profundidade

em Seg 14 Set 2009, 18:55
bome stou desenvolvendo um jogo parecido com Little Fighter 2 , mas estou tendo dificuldades para fazer a parte do pulo do personagem, o pulo é fácil de fazer porem quero que o personagem continue na mesma linha que eles estava, de uma olhada:



quero que o personagem pule e quando cair, parar no mesmo valor de "Y" que ele estava antes, compreende?

O mapa teria profundidade

vlws
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Seg 14 Set 2009, 19:28
Olha eu não sei como, mas talves tenta bolar algo usando paths!
Tipo se ele fica parado e dar um pulo vc cria um path apenas com uma linha na vertical, e regula para quando ele chegar no fim do path ele faser o sentido contrário! Para um pulo parado eu acho que talves daria certo ,mas para pular para os lados não sei se assim ía funfá ! Espera para ver se alguém sabe um jeito certo ,senão em últimos casos tenta fazer isso!
avatar
Data de inscrição : 11/08/2009
Número de Mensagens : 213
Insígnias de JAM :

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

Re: Pulando em profundidade

em Seg 14 Set 2009, 19:38
Não testei, ma pode dar certo:

Cria uma variavel (algo tipo yatual (lê-se ípcilon atual XD)) e otra pulando (se não tiver uma ainda).

Aí no evento do pulo coloca isso:
Código:
//evento do pulo then
  {//comandos
  pulando=true
  yatual=y}

Aí coloca depois:
Código:
if pulando=true and y=yatual then
  {gravity=0
  pulando=false

Testa aí e ve se funciona

Goodbye Happy
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: Pulando em profundidade

em Seg 14 Set 2009, 20:11
Desse jeito aí, se você se aproximasse ou afastasse do fundo enquanto estivesse no ar, o "yatual" continuaria o mesmo, além de que seria difícil a gravidade fazer o y voltar a ser o yatual.

Aqui nesse tópico eu respondi essa mesma pergunta.
Convidad
Convidado

Re: Pulando em profundidade

em Seg 14 Set 2009, 23:08
Moçada, há um ano e meio eu fiz um joguinho parecido com Final Fight e que usava esse mesmo esquema de profundidade. Na verdade é que esse tipo de visão confunde mesmo na hora de programar mas não tem segredo.

O lance é você controlar o x (horizontal) e o y (vertical) numa boa. Controle-os normalmente e adicione às instâncias que se movem (no Step ou EndStep):

Código:
depth := (-y);

O que vai acontecer é que qualquer instância que se encontrar "acima" de outra, terá um depth maior que as que se encontrarem abaixo, portanto, o efeito de profundidade está pronto.

Agora, nos eventos de colisão, é só condicioná-los ao depth igual ou parecido. Por exemplo: se duas instâncias tiverem o depth igual (se estiverem no mesmo plano), elas podem colidir, do contrário, não.

No Colision:

Código:
// Aqui, colocamos uma tolerância de 20 pixels, 10 pra cima e pra baixo.
// É só adicionar isso na primeira linha.

if depth < other.depth - 10 or depth > other.depth + 10 then exit;

Obko. Para o pulo, eu recomendo que você dê uma olhada nas engines de plataforma do fórum. Tem várias formas de fazer e os meninos comentaram direitinho em todas.

Boa Sorte!
Capitão Commando.
avatar
Data de inscrição : 01/06/2008
Número de Mensagens : 1015
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://supermariobrasileiro.blogspot.com

Re: Pulando em profundidade

em Ter 15 Set 2009, 06:32
Código:

if (y > ystart) { y=ystart; }
Se o y for maior que o y de quando o objeto foi criado, ele se torna igual ao y de quando o objeto foi criado. (;
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sex 18 Set 2009, 18:52
pocha tentei fazer todos esses modelos e nenhum deu certo =/
não sei aonde estou errando, preciso muito de ajuda nessa parte.....

tpw olha só:
ao apertar espaço{
y = yatual
pulando = true
vspeed = -8
alarm[0] = 8
}

no alarm[0] :

tem o sistema de gravidade que leva ele para baixo.

if y = yatual{
gravidade = 0
}

mas ele vai caindo sem parar, ele nao para no chão......

acho que fiquei meio que NB d+ nessa engine =/
avatar
Data de inscrição : 01/06/2008
Número de Mensagens : 1015
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://supermariobrasileiro.blogspot.com

Re: Pulando em profundidade

em Sex 18 Set 2009, 18:56
Tente trocar isso:
Código:

if y = yatual{
gravidade = 0
}

Por isso:
Código:

if (y>= yatual)
{
y = yatual;
gravidade = 0;
vspeed = 0;
}
else
{
alarm[0] = 1;
}
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sex 18 Set 2009, 19:06
Eu encontrei aqui mesmo no forum uma engine desse tipo que voceis estão falando !
Os comentários estão em ingles e parece ser bem complicada !
aí ta o link

http://gmbr.forumeiros.com/perguntas-respostas-f10/inteligencia-artificial-de-inimigos-para-beat-em-up-como-streets-of-rage-t811.htm?highlight=inteligencia+artificial

ela tá mais pra baixo nos comentários, o nome dela é
beats of rage suorce code ou alguma coisa assim
talves possa ajuda-los!
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sex 18 Set 2009, 19:16
denis L. o link ta quebrado.....
pocha.......
vou ver se encontro uma engine em outros foruns para usar como base.
vlwscpinheiro e denis Happy
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sex 18 Set 2009, 19:53
denis L. o link ta quebrado.....
pocha.......
vou ver se encontro uma engine em outros foruns para usar como base.
vlwscpinheiro e denis
Desculpa aí oBKo eu que errei, o nome da engine é Beat 'em up engine
ela está no ultimo comentário !

o link ta funcionando ,eu baixei ela agora apouco !

desculpa o erro !
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sab 19 Set 2009, 12:27
tente fazer isso, crie 5 objetos de cada carinha
ao ir para o "fundo", criar uma instancia do objeto que estara na outra posicao
ex: obj1, obj2
criar obj 2 , no obj1.y+10 e destruir o 1 (instance_destroy())
ai quando cada objeto der seu pulo ele volta proy start entendeu?
cada objeto se move so na horizontal
a vertical sera outro objeto
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sab 19 Set 2009, 16:38
denis L. escreveu:
denis L. o link ta quebrado.....
pocha.......
vou ver se encontro uma engine em outros foruns para usar como base.
vlwscpinheiro e denis
Desculpa aí oBKo eu que errei, o nome da engine é Beat 'em up engine
ela está no ultimo comentário !

o link ta funcionando ,eu baixei ela agora apouco !

desculpa o erro !

kra vlw, mas......
eu abri a engine e não entendi nada, mto complicado a engine, fiquei perdido.....
acho que seria melhor vocês postarem um tutorial, ja que eu preciso, muitas pessoas tbm iram precisar..... assim ja ajuda a galera.... =D
avatar
Data de inscrição : 06/09/2009
Número de Mensagens : 192
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sab 19 Set 2009, 18:11
Olha..vou responder sua duvida de uma vez por todas....arruma uma Dlll,ou um extencion de gravidade,instala
e faz o seguinte faz quando pro exeplo vc aperta espaço o player segue um path
que sera so uma linha na vertical ai a gravidade fara tudo sosinha...
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sab 19 Set 2009, 18:24
crie duas variaveis com os nomes de chao e pulando coloque
Código:
 pulando=0
em create event,ai no momento em que ele pular coloque pulando=1 chao=y.
e depois um codigo.
Código:
if(pulando=1 and y>chao){y=chao pulando=0 vspeed=0}
Ou seja se ele estiver caindo quando for passar do chao sua posicao y sera chao
e ele nao vai mais estar pulando pulando sera novamente =0
Convidad
Convidado

Re: Pulando em profundidade

em Seg 21 Set 2009, 23:07
ManoLego escreveu:Olha..vou responder sua duvida de uma vez por todas....arruma uma Dlll,ou um extencion de gravidade,instala
e faz o seguinte faz quando pro exeplo vc aperta espaço o player segue um path
que sera so uma linha na vertical ai a gravidade fara tudo sosinha...

Amigo, você está enganado. Muito enganado. Hilariamente enganado. Evite responder algo que não sabe. Isso não ajuda em nada, só confunde quem está com dúvida.

oBKo, o exemplo do Thyago é exatamente o que eu faria também. Normalmente, eu gosto de controlar o pulo através de uma variável específica. Eu fiz um exemplo:

4shared.com/file/134438589/171577cd/exemplo_pulo_profundidade.html


Última edição por Capitão Commando em Qua 23 Set 2009, 21:24, editado 1 vez(es)
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Ter 22 Set 2009, 12:49
Valeu Cap Cmmando ta ajudando bastante hein !
É mais simples que eu pensava ! É só ter uma boa lógica de programação,
que se faz muita coisa,
sem precisar ta usando aqueles scripts complicados !
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sab 26 Set 2009, 18:07
tpw a engine deu certo mas.....
quando pulo o inimigo consegue me hitar mesmo ele estando numa posição diferente de y....
tpw.... quando to no chao ele me hita mas se ele estiver na minha frente, se ele estiver -50y do meu personagem e eu pular ele acerta o meu personagem......

como arrumo isso?
avatar
Data de inscrição : 17/05/2009
Número de Mensagens : 938
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sab 26 Set 2009, 18:30
Faz o mesmo que vc fez com o player, cria um eixo Y para ele também ,aí vc coloca no evento de colisão com player se o eixo Y for igual ao eixo Y do player, o código que irá ocorrer !
avatar
Ranking : Sem avaliações
Data de inscrição : 26/08/2009
Número de Mensagens : 969
Insígnias de JAM :

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

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

Re: Pulando em profundidade

em Sab 26 Set 2009, 21:13
a ta.... sabia que minha pergunta era de newbie =/
vlws vou fazer isso Very Happy
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