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
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(s) 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

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

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

» 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


Como criar um muralha?

3 participantes

Ir para baixo

Como criar um muralha? Empty Como criar um muralha?

Mensagem por kadini Qua 02 maio 2012, 15:49

Olá, eu estou com duvida, nao é bem uma duvida é mais talvez ignorância, que eu cria era um sistema para criar muralhas, estao a ver o genrero, eu pensei numa coisa tipo obj_inicial, obj_final, tipo eu fazia uma linha em que o ponto 1 fosse o obj inicial , o ultimo ponto era o obj_final, e os pontos entre elos 2 objetos seriam a parte da muralha.

Se ouver outra maneira tb da, eu e que nao fasso a minima ideia como fazer uma muralha ( assoes com o rato )...

Ficaria muito grato.
pudiam fazer um engine, pois seria bastante interessante e acredito que nao tenha sido o 1º a ter esta duvida...

P.s.
depois estava a pensar uzar alguma coisa deste genero
Código:
if not(collision_line(x1,y1,x2,y2,obj,prec,motme))
{//a muralha fica verde e cria}
da para fazer assim?


Última edição por kadini em Qui 03 maio 2012, 09:34, editado 1 vez(es)
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por saim Qua 02 maio 2012, 16:10

Isso está um tanto genérico... Olha, talvez seja interessante criar um objeto pra ser a ta muralha, um objeto com uma sprite de espessura conhecida, com origem em (0, altura / 2).
Daí, ao definir os dois pontos, você cria esse objeto, na posição do ponto1, com image_angle = (direção do ponto1 ao ponto2) e image_xscale = ((distância do ponto1 ao ponto2) / espessura da sprite).
Iso vai fazer seu objeto-muralha ocupar o espaço entre os dois pontos.

Você vai ter que tomar alguns cuidados. Eu não sei como é a engine do seu jogo, então não sei que problemas vai encontrar, mas existem algumas coisas que são previsíveis. Por exemplo, se houver muitos pontos, é preciso saber de qual ponto1 e apontando pra qual ponto2 o objeto será criado. Pra evitar isso, ou não use objetos pra marcar os pontos ou elimine os pontos assim que criar a muralha.
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 : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por kadini Qua 02 maio 2012, 16:46

nao persebi muito bem sera que podes fazer um engine, ou entam postares um codigo completo, nao é presiso escreveres a explicar, que eu ca me arranjo, mas se quisers Smile
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por saim Qua 02 maio 2012, 17:32

É o seguinte... você quer que a sprite ligue o ponto1 ao ponto2. Então o que eu sugeri foi colocar essa sprite no ponto1 com o ângulo da imagem igual ao ângulo que liga os dois pontos. Acho que nisso não ficaram dúvidas, certo?

A parte complicada (+ ou -) é a da escala. Olha só, a gente quer definir um tamanho exato pra essa sprite, então tem que colocar um image_xscale. Se o image_xscale for "1/largura da sprite", o resultado será 1. Ora, então basta multiplicar esse 1 pela largura que queremos como resultado final!
Resumindo, image_xscale = (largura que queremos / largura original).
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 : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por kadini Qua 02 maio 2012, 17:35

desculpa estar a ser chato

eu nao sei fazer o codigo para ligar o ponto1 ao ponto2.

obrigado pela explicaçao.
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por saim Qui 03 maio 2012, 08:23

Não está sendo chato. Eu é que estou partindo do pré-suposto que você já aprendeu algumas coisas que, na verdade, ainda não sabe.
Bom, cada um desses pontos tem suas coordenadas (x, y). Existe uma funções que te retorna o ângulo entre dois pares de coordenadas (x, y) e outra que te retorna a distância. Use essas funções pra armazenar em variáveis esses valores, como abaixo.
Código:
angulo = point_direction(x1, y1, x2, y2);
distancia = point_distance(x1, y1, x2, y2);
Nota: (x1, y1) são as coordenadas (x, y) do ponto1 e (x2, y2) são as do ponto2.

Bom, o resto já está explicado na conversa acima. No ponto1, crie o objeto-muralha com image_angle = angulo e image_xscale = (distancia / largura_da_sprite).
Nota: estou partindo do pré-suposto que você tem a versão pro do game maker.

Pode parecer que, como o objeto está inclinado, você terá que alterar também o valor de image_yscale, mas não é bem assim. image_xscale e image_yscale se referem à proporção do sprite original, sem rotação. Depois de aplicadas as escalas é que a imagem será rotacionada.
Os códigos de colisão levam em consideração essas alterações da sprite.
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 : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por kadini Qui 03 maio 2012, 08:59

muito obrigado, ja persebi... deu certo Smile

agora so o tenho de editar para fazer exatamente o que eu quero, vamos mer se corre bem Smile
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por saim Qui 03 maio 2012, 09:33

Beleza.
Como eu disse, esse método requer alguns cuidados. Eu não sei como você está implementando isso, então não tenho como te prevenir nada. Mas é esperado que você encontre problemas ao criar mais muralhas. Se acontecer, estamos aí!
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 : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por moisesBR Qui 03 maio 2012, 14:03

blz tambem percebi isso mas, xscale nesse caso, apenas estica a imagem.
(nao, nao estou trabalhando nisso apenas vi o post e resolvi opinar)

Creio que, o user queira saber tambem(eu tb): Ao traçar uma linha, digamos, vertical ou horizontal*, mediria-se a distancia, e calculando quantos objetos/sprites caberiam, sendo essas, desenhadas repetidamente sem usar o image scale!*(diagonal depois mais complicado)

Imagine uma sprite de muro com 20x20p, se a distancia x ou y for de 200, ali nesse espaço caberia e seria desenhado 10 muros em sequencia!

Isso serviria para que ao inimigo atacar o muro, o único a ser destruido seria aquele nao todo o muro. Exemplos:Empire Earth e Age of Empires
Supondo que o user está trabalhando com um game nesse estilo, é claro.
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : Como criar um muralha? 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


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por kadini Qui 03 maio 2012, 16:39

supoes bem, era nesse estilo EMpire Earth Age of empire, stronghold.

Sabes outra maneira para fazer isto???
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por moisesBR Sex 04 maio 2012, 12:37

Nao. Somente a idéia. E se tratando de programaçao, creio que tudo é possível.

Minha idéia se resume em apenas duas:
1-(in game), encontre algum code(nao sei) que consiga traçar uma linha.
2=E nessa linha, será desenhado a quantidade de sprites/objetos que couber.

A de traçar a linha, vi algo do tipo num tuto(pathfind) onde voce clica em um ponto e o personagem vai até lá desviando de obstáculos(vai lhe se útil pro seu tipo de projeto). reparei que ele deixa um traço(modifiquei para testar) quase invisível para vermos o caminho calculado:
https://gmbr.forumeiros.com/t13821-aula-avancada-pathfinding

Outro que pode ser útil pra voce é o que o Theguitarmester fez para me ajudar, onde o player vira deixa o rasto:
https://gmbr.forumeiros.com/t22061-resolvido-ajuda-ia-sem-path-seguir-escolher-caminho#166300

E.... mais uma idéia que me veio a mente neste momento:
usar o metodo draw object como se fosse àquele do bomberman onde ele passa coloca a bomba, ou do come-come que ao invés de pegar objetos, coloca, no caso, o muro.
(para dar mais realidade qd vc conseguir o objetivo desse post, coloque uma animaçao de construçao do muro, e em um enimation end: conclusao)
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : Como criar um muralha? 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


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por kadini Sex 04 maio 2012, 14:41

oi, e uma ideia engraçada e talvez mais facil, apesar de a de cima estar a funcinar a 99% ( falta corrigir umas coisas ).

nao quers criar um tuto, a explicares isso pq axo que varias pessoas iam ter coriosidade em ver, pq axo que aind e algo trabalhoso, deixo esta pergunta para ti..
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por saim Seg 07 maio 2012, 10:32

Como estão suas notas em matemática? Sabe tudo de arrays?

É o seguinte... Podemos dividir uma reta em trechos do tamanho do lado do quadrado que será usado como muralha. Nesse caso, não pode ser qualquer retângulo, TEM que ser quadrado. Aí, definimos um conjunto de pontos da reta e alinhamos esses pontos à grade. Verificamos se existe um quadrado-muralha lá. Se não tem, criamos um, se tem, ignoramos e seguimos adiante.

Bom, podemos usar o ponto1 pra começar esse conjunto de pontos, a distância entre os pontos e o tamanho do quadrado pra saber o número de pontos e as distâncias em x e y pra definirmos a posição de cada um deles.
Não é difícil alinhá-los à grade e testar se existe a muralha é tão simples quanto um instance_position. Eu vou deixar isso sem códigos, por enquanto, mas acho que vai ser um pouco complicado pra você entender sem uma ilustração. Se eu tivesse ao menos como ilustrar com uma figura, já facilitava, mas por enquanto, nem isso. Mas procure entender o conceito. Se você achar que vale a pena, eu volto, dando um pouco mais de detalhes da idéia.

@moisesBR: acho que entendi a "linha" que você quer desenhar, seria uma linha serrilhada, um caminho "pixelado" de um ponto a outro, certo? Usar pathfinding pra isso seria usar um canhão pra matar uma formiga. As funções de pathfinding são lentas. Não que nós precisemos de velocidade nesse caso, afinal a criação de muralhas será eventual (2 a 3 trechos de muralhas por segundo e isso quando o jogador for rápido), mas ainda assim, não é uma boa. Esse método descrito acima pode ocasionar alguns trechos em que a muralha se completa apenas na diagonal, mas acredito que atenda à demanda.
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 : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por kadini Seg 07 maio 2012, 17:56

saim amanha voce pode me ajudar com isso ja agora 10º ANO curso cientifica nota de matematica 14/15 ( podia ter melhor mas nao me apliquei no 1º periodo Sad ).

Eu agora estou sem tempo e nem li o post com atençao ( chegei a metade parei xP )

Amanha se poderes e se quisers ajuda-me. com isto, pq nao quero que as pessoas façam as coisa por min senao nao persebo um chavo xP, persiso e de um emporransinho para la chegar
kadini
kadini

Data de inscrição : 02/03/2012
Reputação : 4
Número de Mensagens : 192
Prêmios : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por saim Ter 08 maio 2012, 09:47

Beleza. Assim que você conseguir ler, me conta se entendeu a idéia.
A matemática que vamos usar é tão simples quanto dividir e multiplicar. Eu preciso que você esteja bem em matemática porque vai ser preciso VISUALIZAR o que estamos fazendo. Pra visualizar, alguns conceitos devem estar bem consolidados.
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 : Como criar um muralha? 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

Como criar um muralha? Empty Re: Como criar um muralha?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


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