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


AJUDA - ANGRY BIRDS

4 participantes

Ir para baixo

AJUDA - ANGRY BIRDS Empty AJUDA - ANGRY BIRDS

Mensagem por Overflow Dom 27 maio 2012, 12:49

AJUDA - ANGRY BIRDS Projetoa

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
Overflow

Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por TRFN Dom 27 maio 2012, 13:01

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.
TRFN
TRFN

Games Ranking : Nota C

Notas recebidas : C + C + C
Data de inscrição : 16/01/2012
Reputação : 70
Número de Mensagens : 1192
Prêmios : AJUDA - ANGRY BIRDS Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 2

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Web Tecnology
  • Javascript
  • Outros


https://site13.com.br/

Ir para o topo Ir para baixo

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por Overflow Dom 27 maio 2012, 13:03

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 Sad
Overflow
Overflow

Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por DrFelipe Dom 27 maio 2012, 13:06

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:
Código:
if tamanho_da_corda > 50 {tamanho_da_corda = 50}
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.
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
DrFelipe

Data de inscrição : 30/04/2012
Reputação : 1
Número de Mensagens : 16
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por TRFN Dom 27 maio 2012, 13:08

Eu acho que algo do tipo funcionaria :
Código:
draw_line(x , y , x + EsticaX , y + EsticaY);
Ai bastaria você colocar um limite nas variáveis EsticaX e EsticaY :
Código:
if(EsticaX > 100)then EsticaX = 100;
else if(EsticaY > 100)then EsticaY = 100;
Assim teriamos um Limite de Tamanho em 100 tanto para X quanto para Y.
TRFN
TRFN

Games Ranking : Nota C

Notas recebidas : C + C + C
Data de inscrição : 16/01/2012
Reputação : 70
Número de Mensagens : 1192
Prêmios : AJUDA - ANGRY BIRDS Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 2

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Web Tecnology
  • Javascript
  • Outros


https://site13.com.br/

Ir para o topo Ir para baixo

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por cidmarcos Dom 27 maio 2012, 13:14

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.
Event Collision Corda Action Move Fixed 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!
cheers 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)
cidmarcos
cidmarcos

Games Ranking : Nota D

Notas recebidas : E+D
Data de inscrição : 26/05/2012
Reputação : 7
Número de Mensagens : 177
Prêmios : AJUDA - ANGRY BIRDS 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

https://www.facebook.com/DragaoDeOuroJogo

Ir para o topo Ir para baixo

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por Overflow Dom 27 maio 2012, 13:21

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
Overflow
Overflow

Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por TRFN Dom 27 maio 2012, 13:23

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.
TRFN
TRFN

Games Ranking : Nota C

Notas recebidas : C + C + C
Data de inscrição : 16/01/2012
Reputação : 70
Número de Mensagens : 1192
Prêmios : AJUDA - ANGRY BIRDS Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 2

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Web Tecnology
  • Javascript
  • Outros


https://site13.com.br/

Ir para o topo Ir para baixo

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por Overflow Dom 27 maio 2012, 13:25

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)
}
Overflow
Overflow

Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por DrFelipe Dom 27 maio 2012, 13:31

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
DrFelipe

Data de inscrição : 30/04/2012
Reputação : 1
Número de Mensagens : 16
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por Overflow Dom 27 maio 2012, 13:32

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
Overflow

Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por TRFN Dom 27 maio 2012, 13:35

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)
TRFN
TRFN

Games Ranking : Nota C

Notas recebidas : C + C + C
Data de inscrição : 16/01/2012
Reputação : 70
Número de Mensagens : 1192
Prêmios : AJUDA - ANGRY BIRDS Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 2

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Web Tecnology
  • Javascript
  • Outros


https://site13.com.br/

Ir para o topo Ir para baixo

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por DrFelipe Dom 27 maio 2012, 13:40

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:
Código:
if tamanho_da_corda > 50 {tamanho_da_corda = 50}
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.
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
DrFelipe

Data de inscrição : 30/04/2012
Reputação : 1
Número de Mensagens : 16
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

Mensagem por Overflow Dom 27 maio 2012, 13:44

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 ... Smile
vlw... (resolvido)
Overflow
Overflow

Data de inscrição : 22/03/2012
Reputação : 1
Número de Mensagens : 42
Prêmios : AJUDA - ANGRY BIRDS 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

AJUDA - ANGRY BIRDS Empty Re: AJUDA - ANGRY BIRDS

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