Entrar
Últimos assuntos
» player não consegue andarpor 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
AJUDA - ANGRY BIRDS
4 participantes
Página 1 de 1
AJUDA - ANGRY BIRDS
fala, galera do gmbr,
então, eu to criando uma engine do angry birds e estou
com um problema e queria sabe se vocês sabem resolver
esse problema,
No jogo oficial do angry birds, quando você puxa o
estilingue, ele tem um certo tamanho, ou seja, a corda
do estilingue se estica até um certo ponto, e depois
para, eu queria sabe como que se faz esse comando
no meu projeto, a corda do estilingue não tem tamanho definido, assim, ela fica se movimentando para todos os lados
OBS - a corda é feita com uma draw_line, então pode ser que se definir o tamanho da draw_line resolva...
mas, não endendo muito de draw para GML... Alguem ajuda?????
Download da DEMO
(só possui uma fase)
http://www.mediafire.com/?bfxx9u0b91ixm1p
Overflow- Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
Talvez você devesse transformar o tamanho da "corda" em variáveis,para que você colocasse um limite na variável,o que possivelmente poderia funcionar.
Re: AJUDA - ANGRY BIRDS
TRFN escreveu:Talvez você devesse transformar o tamanho da "corda" em variáveis,para que você colocasse um limite na variável,o que possivelmente poderia funcionar.
eu ja defini a draw_line como uma variavel, so que ela parou de funcionar, ou seja, ela não se esticava
Overflow- Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
Olha, cara, eu não entendo praticamente nada de draw no GM, mas pode ser que eu possa te ajudar.
Não sei se existe algum comando para verificar o tamanho da corda, mas se tiver, tenta fazer isso:
Também tem outro jeito (que eu acabei de pensar), e que eu acho que seria bem mais fácil. Esse método que eu acabo de criar se baseia em não permitir que o mouse vá muito longe enquanto está arrastando a corda. Ficaria mais ou menos isso:
Isso vai fazer com que o mouse não passe dos 150 pixels no eixo X se o jogador estiver clicando. Basta alterar os valores para o seu jogo e isso deve criar uma limitação para a corda. Também é possível fazer isso com o eixo Y.
Não sei se existe algum comando para verificar o tamanho da corda, mas se tiver, tenta fazer isso:
- Código:
if tamanho_da_corda > 50 {tamanho_da_corda = 50}
Também tem outro jeito (que eu acabei de pensar), e que eu acho que seria bem mais fácil. Esse método que eu acabo de criar se baseia em não permitir que o mouse vá muito longe enquanto está arrastando a corda. Ficaria mais ou menos isso:
- Código:
if mouse_check_button(mb_left) && mouse_x > 150 {window_mouse_set(150,mouse_y)}
Isso vai fazer com que o mouse não passe dos 150 pixels no eixo X se o jogador estiver clicando. Basta alterar os valores para o seu jogo e isso deve criar uma limitação para a corda. Também é possível fazer isso com o eixo Y.
DrFelipe- Data de inscrição : 30/04/2012
Reputação : 1
Número de Mensagens : 16
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
Eu acho que algo do tipo funcionaria :
- Código:
draw_line(x , y , x + EsticaX , y + EsticaY);
- Código:
if(EsticaX > 100)then EsticaX = 100;
else if(EsticaY > 100)then EsticaY = 100;
Re: AJUDA - ANGRY BIRDS
Puxa, eu realmente nao entendo muito de draw mesmo! eu acho q eu simplesmente ia colocar objetos sem sprite ao redor do estilingue. e faria akele comando básico de colisão.
Corda 0
Algo do Gênero.
____________________________________________________________________________________
EDIT: Olha, baixei o seu jogo, gostei muito da engine, embora eu tenho em mente que uma cópia o
tanto 'idêntica' não dê muito 'futuro' para o jogo, se é que me entende, fora a criatividade.. Tá PERFEITO!
Nem precisa fazer aquele Limite mano, se você for ver bem, caso você limite, o AngryBird, NUNCA
vai chegar ao porquinho, até porque só chega lá se esticar bem a corda.
Corda 0
Algo do Gênero.
____________________________________________________________________________________
EDIT: Olha, baixei o seu jogo, gostei muito da engine, embora eu tenho em mente que uma cópia o
tanto 'idêntica' não dê muito 'futuro' para o jogo, se é que me entende, fora a criatividade.. Tá PERFEITO!
Nem precisa fazer aquele Limite mano, se você for ver bem, caso você limite, o AngryBird, NUNCA
vai chegar ao porquinho, até porque só chega lá se esticar bem a corda.
Última edição por cidmarcos em Dom 27 maio 2012, 13:36, editado 1 vez(es)
Re: AJUDA - ANGRY BIRDS
Poxa, nenhum deles funcionou por que...
1º Draw_line quando coloca < , > , <=, >= ela aumenta a largura, e não o comprimento,
2º é que quando usa a variavel EsticaX e EsticaY, some a draw_line, e não tem nenhuma corda =(
3º é que se for usar como objeto, teria que faser GIF para poder se esticas, e se movimentar
1º Draw_line quando coloca < , > , <=, >= ela aumenta a largura, e não o comprimento,
2º é que quando usa a variavel EsticaX e EsticaY, some a draw_line, e não tem nenhuma corda =(
3º é que se for usar como objeto, teria que faser GIF para poder se esticas, e se movimentar
Overflow- Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
Mostre o código usando para fazer a linha no draw line........
Ai eu teria uma noção do teu método....
Se quiser,pode ser por MP.
Ai eu teria uma noção do teu método....
Se quiser,pode ser por MP.
Re: AJUDA - ANGRY BIRDS
draw_sprite(sprite_index,image_index,x,y)
//draw_self()
if global.sling=true{
draw_line(x-14,y,obj_birds.x,obj_bird.y)
draw_line(x+14,y,obj_birds.x,obj_bird.y)
}
//draw_self()
if global.sling=true{
draw_line(x-14,y,obj_birds.x,obj_bird.y)
draw_line(x+14,y,obj_birds.x,obj_bird.y)
}
Overflow- Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
Overflow escreveu:Poxa, nenhum deles funcionou por que...
1º Draw_line quando coloca < , > , <=, >= ela aumenta a largura, e não o comprimento,
2º é que quando usa a variavel EsticaX e EsticaY, some a draw_line, e não tem nenhuma corda =(
3º é que se for usar como objeto, teria que faser GIF para poder se esticas, e se movimentar
E você ao menos considerou a possibilidade de usar o meu método de bloquear o mouse? ._.
DrFelipe- Data de inscrição : 30/04/2012
Reputação : 1
Número de Mensagens : 16
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
DrFelipe escreveu:Overflow escreveu:Poxa, nenhum deles funcionou por que...
1º Draw_line quando coloca < , > , <=, >= ela aumenta a largura, e não o comprimento,
2º é que quando usa a variavel EsticaX e EsticaY, some a draw_line, e não tem nenhuma corda =(
3º é que se for usar como objeto, teria que faser GIF para poder se esticas, e se movimentar
E você ao menos considerou a possibilidade de usar o meu método de bloquear o mouse? ._.
??????????
não sei como se bloqueia o mouse
if draw_line < 10 {
mouse.y,mouse.y = false
}
se for assim, nao funciona
Overflow- Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
Acho que isso pode funcionar :
- Código:
draw_sprite(sprite_index,image_index,x,y);
Limite = 100;
if(!variable_local_exists("XStart"))then XStart = -1;
if(!variable_local_exists("YStart"))then YStart = -1;
if(global.sling){
if(XStart = -1)then XStart = obj_birds.x;
if(YStart = -1)then YStart = obj_bird.y;
if(distance_to_point(XStart , 0) > obj_birds.x + Limite)then obj_birds.x = XStart + Limite;
else if(distance_to_point(XStart , 0) < obj_birds.x - Limite)then obj_birds.x = XStart - Limite;
if(distance_to_point(0 , YStart) > obj_bird.y + Limite)then obj_bird.y = YStart + Limite;
else if(distance_to_point(0 , YStart) < obj_bird.y - Limite)then obj_bird.y = YStart - Limite;
draw_line(x-14,y,obj_birds.x,obj_bird.y)
draw_line(x+14,y,obj_birds.x,obj_bird.y)
} else {
XStart = -1;
YStart = XStart;
}
Última edição por TRFN em Dom 27 maio 2012, 13:43, editado 1 vez(es)
Re: AJUDA - ANGRY BIRDS
Overflow escreveu:DrFelipe escreveu:Overflow escreveu:Poxa, nenhum deles funcionou por que...
1º Draw_line quando coloca < , > , <=, >= ela aumenta a largura, e não o comprimento,
2º é que quando usa a variavel EsticaX e EsticaY, some a draw_line, e não tem nenhuma corda =(
3º é que se for usar como objeto, teria que faser GIF para poder se esticas, e se movimentar
E você ao menos considerou a possibilidade de usar o meu método de bloquear o mouse? ._.
??????????
não sei como se bloqueia o mouse
if draw_line < 10 {
mouse.y,mouse.y = false
}
se for assim, nao funciona
Eu postei como fazer isso...
*flash back*
DrFelipe escreveu:Olha, cara, eu não entendo praticamente nada de draw no GM, mas pode ser que eu possa te ajudar.
Não sei se existe algum comando para verificar o tamanho da corda, mas se tiver, tenta fazer isso:Isso aí impediria a corda de passar de 50 pixels, mas aí você teria de dar um jeito de trocar "tamanho_da_corda" por algo que represente o tamanho atual do tamanho da corda.
- Código:
if tamanho_da_corda > 50 {tamanho_da_corda = 50}
Também tem outro jeito (que eu acabei de pensar), e que eu acho que seria bem mais fácil. Esse método que eu acabo de criar se baseia em não permitir que o mouse vá muito longe enquanto está arrastando a corda. Ficaria mais ou menos isso:
- Código:
if mouse_check_button(mb_left) && mouse_x > 150 {window_mouse_set(150,mouse_y)}
Isso vai fazer com que o mouse não passe dos 150 pixels no eixo X se o jogador estiver clicando. Basta alterar os valores para o seu jogo e isso deve criar uma limitação para a corda. Também é possível fazer isso com o eixo Y.
DrFelipe- Data de inscrição : 30/04/2012
Reputação : 1
Número de Mensagens : 16
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: AJUDA - ANGRY BIRDS
TRFN escreveu:Acho que isso pode funcionar :
- Código:
draw_sprite(sprite_index,image_index,x,y);
Limite = 100;
if(!variable_local_exists("XStart"))then XStart = -1;
if(!variable_local_exists("YStart"))then YStart = -1;
if(global.sling){
if(XStart = -1)then XStart = obj_birds.x;
if(YStart = -1)then YStart = obj_bird.y;
if(distance_to_point(XStart , 0) > obj_birds.x + Limite)then obj_birds.x = XStart + Limite;
else if(distance_to_point(XStart , 0) < obj_birds.x - Limite)then obj_birds.x = XStart - Limite;
if(distance_to_point(0 , YStart) > obj_bird.y + Limite)then obj_bird.y = YStart + Limite;
else if(distance_to_point(0 , YStart) < obj_bird.y - Limite)then obj_bird.y = YStart - Limite;
draw_line(x-14,y,obj_birds.x,obj_bird.y)
draw_line(x+14,y,obj_birds.x,obj_bird.y)
} else {
XStart = -1;
YStart = XStart;
}
PERFEITO ...
vlw... (resolvido)
Overflow- Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [AJUDA] Com Jogo Angry birds
» como desbloquear fases estilo angry birds?
» Jogo estilo angry birds
» Angry Birds Eggs Hunter
» Como fazer fases estilo Angry Birds?
» como desbloquear fases estilo angry birds?
» Jogo estilo angry birds
» Angry Birds Eggs Hunter
» Como fazer fases estilo Angry Birds?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos