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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


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