GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


Pacotão de duvidas

+2
Gabreel
marcin_w_
6 participantes

Ir para baixo

Pacotão de duvidas Empty Pacotão de duvidas

Mensagem por marcin_w_ Sáb 26 Abr 2014, 15:21

Tenho algumas dúvidas e decidi postar todas num só tópico afinal trata-se do mesmo projeto.

Meu projeto é um TDS shooter, trabalho nele a 3 anos, o desenvolvimento entrou em uma fase crucial na transformação dele em um jogo viciante ou apenas algo que poderia ter dado certo.

O problemas que enfrento acredito ser de nivel principiante/mediano portanto não muitos de vcs terão facilidade em me esclarecer.

1 - Tenho uma arma que se move em 360 direções, minha vontade sempre foi de que caso o objeto_alvo estivesse obstruído por algum outro objeto ...que a arma não atirasse apenas apontasse. Decidi então usar uma função que desenha uma linha entre a arma e o alvo (draw_line_color(x, y, objPlayer.x, objPlayer.y, c_red, c_red);) e coloquei essa função no draw da arma........porém agora meu problema eh saber como fazer para essa linha quando em colisão com algum objeto que esteja entre a arma e o alvo pare de chegar até o alvo. e pior que isso....fazer com que o objetoARMA reconheça que essa linha não chegou no objPlayer e assim pare de atirar com uma variavel por exemplo podeatirar=0


2- Gostaria tbm de saber como desabilitar as funções de objetos parents......por exemplo eu tenho o objPlayer....e criei um parent pra ele que é o objPlayer agachado.....porém gostaria que agachado ele não atirasse......quero saber como fazer para o objeto ser apenas reconhecido como parent mas que nao tenha as funções do objeto parent.....pra ser mais claro....quero que varios objetos diferentes  "agachado,pulando, rastejando" tenham funções difrentes...mas sejam reconhecidos como parents do obj Player.....pois no resultado serão o "msmo objeto"

3- Voltando a arma 360 , gostaria de saber como fazer para que ela aponte para o player (isso eu ja sei fazer) porém...com um delay....tipo...segue ele mas não imediata e precisamente como ja fiz...quero q exista um delay...ou ateh um erro de alvo.

4 -Voltando tbm as lines, como fazer para que dependendo do tamanho da linha desenhada pelo draw o objeto tenha uma atitude diferente....por exemplo....se a linha entre ele e o objeto que obstrui estiver mt pequena....ele nem atira msmo...pq estará perto de uma parede ou algo do tp....e nao faria sentido atirar..........

5- como fazer um pulo TDS?...tipo criar objetos que definam que ali o objeto está mais alto...e q quando chegar na beirada vai cair?....tp...subir em uma caixa...essa eu sei q vai ser mais dificil..mas se algm tiver uma ideia da uma luz...

Bom...por enquanto é isso, abraço pessoal.
marcin_w_
marcin_w_

Data de inscrição : 25/11/2012
Reputação : 4
Número de Mensagens : 90
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por Gabreel Sáb 26 Abr 2014, 15:38

Precisamos de códigos! Happy
Gabreel
Gabreel

Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • Outros


Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por polosam Sáb 26 Abr 2014, 15:41

Eu não sei usar direito muitas funções, por isso sempre crio um atalho de raciocínio e termino resolvendo o problema bolando umas gambiarras bem surreais e demoradas...  computador 

 Não vou poder te ajudar respondendo todas as perguntas separadamente, o que é uma pena, mas posso te dar uma ideia: no caso de só atirar se o caminho estiver livre, você poderia disparar uma bala invisível que não afeta o player, mas que ao colidir com ele envia um sinal para o canhão que indica podeatirar=1 (objetos pelo caminho barrariam ela e neutralizariam a "intenção" da arma.)

 Espero que algum usuário top apareça por aqui pra te dar uma luz, da minha parte é só.  Pacotão de duvidas 916736
polosam
polosam

Games Ranking : Nota A

Notas recebidas : A + B
Data de inscrição : 20/12/2010
Reputação : 120
Número de Mensagens : 749
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4


Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por marcin_w_ Sáb 26 Abr 2014, 15:58

Cara, ja pensei em tanta coisa, inclusive nessa ideia, mas se vc analisar ela bem..não é funcional....msmo assim obrigado e abraço.
marcin_w_
marcin_w_

Data de inscrição : 25/11/2012
Reputação : 4
Número de Mensagens : 90
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por Willy Sáb 26 Abr 2014, 16:44

1 - Só atirar se o caminho estiver livre:
Para isso temos o collision_line! Ele checa se existe um objeto especifico entre x1,y1 e x2,y2. Em relação à linha, essa já não sei como fazer... Mas vou pensar aqui.

2 - Esse método que você está usando é para trocar de sprites, certo? Lamento informar, mas seu método é totalmente ineficaz e só causa bugs e dor de cabeça. Recomendo que você crie apenas um único objeto para o jogador e programe a troca de sprites/movimentos baseado em condições. Leia esse meu artigo para melhor entendimento.

3 - Você vai precisar de duas variaveis:
DirectionAlvo
Direction

DirectionAlvo é o valor do point_direction.
Direction é a direção em que a arma está apontada (ou seja, image_angle(Direction)). Tudo o que tem que fazer é mandar que direction seja alterada relativamente com DirectionAlvo, ou seja, se o valor for maior ou menor, aos poucos, vai igualando até ficar com o mesmo valor.

4 - Supondo que tenha conseguido fazer o sistema da linha, basta checar se o tamanho da linha está no tamanho mínimo para poder atirar.

5 - Não sei o que um TDS. '-' Top Down Shooter?

Off: Só pra eu entender... Essa linha, seria uma mira lazer?
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por marcin_w_ Sáb 26 Abr 2014, 17:08

O meu objPlayer se move em 8 direções, cima, baixo, direita, esquerda e diagonais. Eu ainda não estou usando o método de "agachar, pular, rastejar", é apenas uma ideia, portanto o objPlayer continua sendo apenas um objeto msmo, preciso apenas saber como desabilitar as funções do player quando ele se transformar msmo que momentanemante no parent que ta "pulando, agachando etc"....

Sobre a linha não vai ser um laser não, na verdade ela nem será visível na versão final do jogo, eu apenas tive a ideia de usa-la para definir quando eh possivel acertar o alvo sem atingir nenhuma barreira e tbm pra reconhecer a distancia do atirador para a barreira....caso esteja mt perto ele não atira...pois nao faz sentido.

E sim TDS eh top down shooter, como ja descrevi me objPlayer creio que vc vai perceber que preciso de um sistema de definição de altura de objetos para reconhecer o tamanho da queda ao pular do objeto...e onde se delimita o chão.....oque eh bem dificil pois eh um tds....
marcin_w_
marcin_w_

Data de inscrição : 25/11/2012
Reputação : 4
Número de Mensagens : 90
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por Willy Sáb 26 Abr 2014, 17:18

Você não precisa trocar de objeto, apenas colocar condições nas ações dele.

Por exemplo:
Código:
if JogadorAbaixado == false{
   //Movimento Normal
}else{
   //Se abaixa
}

Quanto a linha, o collision_line bastará.
Já o pulo, se não me engano, tem uma engine que demonstra como fazer... Agora, onde está essa engine que é o problema. XD
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por polosam Sáb 26 Abr 2014, 17:20

Crie uma variável "objeto".
Quando ele for o player normal, essa variável será 1, fazendo com que as funções do player dependam desse valor=1. Para quando ele pular, deixe essa variável com outro valor: vai ser o mesmo que ter vários objetos num só.
polosam
polosam

Games Ranking : Nota A

Notas recebidas : A + B
Data de inscrição : 20/12/2010
Reputação : 120
Número de Mensagens : 749
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4


Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por Mr. Kaleb Sáb 26 Abr 2014, 17:29

Quanto ao pulo, é só definir uma variável falsa, tipo z. Então você define todas as ações que ocorrem em planos diferentes.
Por exemplo, vamos dizer que você tem o chão (global.z = 0). Então tem uma caixa (global.z = 32), onde você pode subir e os zumbis ou o que quer que seja, não te atacam. 
A lógica seria a seguinte:
Código:
if !global.z>0 { //se a altura não for maior que zero
  //zumbis podem te atacar
}
Mr. Kaleb
Mr. Kaleb

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por saim Dom 27 Abr 2014, 21:15

marcin_w_ escreveu:Tenho algumas dúvidas e decidi postar todas num só tópico afinal trata-se do mesmo projeto.

Meu projeto é um TDS shooter, trabalho nele a 3 anos, o desenvolvimento entrou em uma fase crucial na transformação dele em um jogo viciante ou apenas algo que poderia ter dado certo.

O problemas que enfrento acredito ser de nivel principiante/mediano portanto não muitos de vcs terão facilidade em me esclarecer.

1 - Tenho uma arma que se move em 360 direções, minha vontade sempre foi de que caso o objeto_alvo estivesse obstruído por algum outro objeto ...que a arma não atirasse apenas apontasse. Decidi então usar uma função que desenha uma linha entre a arma e o alvo (draw_line_color(x, y, objPlayer.x, objPlayer.y, c_red, c_red);) e coloquei essa função no draw da arma........porém agora meu problema eh saber como fazer para essa linha quando em colisão com algum objeto que esteja entre a arma e o alvo pare de chegar até o alvo. e pior que isso....fazer com que o objetoARMA reconheça que essa linha não chegou no objPlayer e assim pare de atirar com uma variavel por exemplo podeatirar=0


2- Gostaria tbm de saber como desabilitar as funções de objetos parents......por exemplo eu tenho o objPlayer....e criei um parent pra ele que é o objPlayer agachado.....porém gostaria que agachado ele não atirasse......quero saber como fazer para o objeto ser apenas reconhecido como parent mas que nao tenha as funções do objeto parent.....pra ser mais claro....quero que varios objetos diferentes  "agachado,pulando, rastejando" tenham funções difrentes...mas sejam reconhecidos como parents do obj Player.....pois no resultado serão o "msmo objeto"

3- Voltando a arma 360 , gostaria de saber como fazer para que ela aponte para o player (isso eu ja sei fazer) porém...com um delay....tipo...segue ele mas não imediata e precisamente como ja fiz...quero q exista um delay...ou ateh um erro de alvo.

4 -Voltando tbm as lines, como fazer para que dependendo do tamanho da linha desenhada pelo draw o objeto tenha uma atitude diferente....por exemplo....se a linha entre ele e o objeto que obstrui estiver mt pequena....ele nem atira msmo...pq estará perto de uma parede ou algo do tp....e nao faria sentido atirar..........

5- como fazer um pulo TDS?...tipo criar objetos que definam que ali o objeto está mais alto...e q quando chegar na beirada vai cair?....tp...subir em uma caixa...essa eu sei q vai ser mais dificil..mas se algm tiver uma ideia da uma luz...

Bom...por enquanto é isso, abraço pessoal.
É osso postar sem ler as respostas do Willy, mas ainda tenho 8 janelas de assuntos interessantes e pretendo trabalhar no meu projeto e... enfim, vamos lá!
1 - collision_line. isso, eu vi que o Willy explicou.
2 - não use parents, use a máquina de estados finitos com um único objeto. Tutorial na assinatura. Sério, estou falando com pressa, mas também com conhecimento de causa, ela muda sua vida!
3 - tem um script mágico que te retorna a diferença entre uma direção e outra. Use o sinal dessa diferença pra "rodar" sua direção, ao invés de defini-la.
4 - mole. point_distance pra saber a distância, um if-else pra reduzir essa distância a patamares conhecidos e switch pra definir o que fazer em cada patamar. Acho que deu pra sacar, se não deu, mande MP.
5 - Procure tutoriais a respeito de jogos isométricos, parece ser a mesma coisa que você quer. Um objeto-sombra fica numa altura fixa, o outro fica no ar. A sombra pode subir e descer pelo piso isométrico. O outro fica numa altura, sempre relativa à sombra. Se a sombra muda de altura, a relação de altura não muda, mas se a sombra "cai" de algum lugar, a relação muda do tanto que a sombra caiu.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Pacotão de duvidas Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por marcin_w_ Ter 29 Abr 2014, 20:46

Saim, vc chegou exatamente no ponto que eu precisava, a tal maquina de estados finitos realmente é oq está faltando pra eu conseguir levar meu projeto em frente, gostaria de sber se tem alguma forma de mantermos contato para que vc possa me ajudar com a maquina de estados finitos no meu projeto tendo assim o seu nome nos créditos em destaque. sepuder....passa o face...eu te add....e a gente vai tratando desse assunto por la
marcin_w_
marcin_w_

Data de inscrição : 25/11/2012
Reputação : 4
Número de Mensagens : 90
Prêmios : Pacotão de duvidas Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Pacotão de duvidas Empty Re: Pacotão de duvidas

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos