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


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