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] While e repetições

3 participantes

Ir para baixo

[AJUDA] While e repetições Empty [AJUDA] While e repetições

Mensagem por vitorfernandes13 Dom 27 Abr 2014, 19:43

Pessoal, estou com outro problema  scratch 

Estou querendo criar uma barra de especial, onde atinge-se 100 na barra, a nave comece a atirar feito louca por 10 segundos sem gastar munição  afro 
Tentei fazer isso, mas, meu PC travou, tenho certeza que fiz algo errado  Mad 

Código:

//Controle: Create
global.superespecial = false;

Código:

//Player: Create
controle2 = true;

Código:

//Player: Step
if global.especial = 100 and controle2 = true {
    global.superespecial = true;
    controle2 = false;
}

if global.superespecial = true and controle2 = false {
    alarm[2] = 300;
    global.especial = 0;
    controle2 = true;
}

while (global.superespecial = true) {
    with (instance_create(x+21,y-40,obj_Tiro)) {
        motion_set(90,20);
    }

    with (instance_create(x-21,y-40,obj_Tiro)) {
        motion_set(90,20);
    }
}

Código:

Alarm 2
global.superespecial = false;

O que fiz de errado? Eu preciso colocar intervalo entre tiros? e se o jogador morrer no meio do especial?  bom 
vitorfernandes13
vitorfernandes13

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios : [AJUDA] While e repetições 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] While e repetições Empty Re: [AJUDA] While e repetições

Mensagem por Willy Dom 27 Abr 2014, 19:50

Neste caso, um loop não é o ideal. Usando-os, você criaria todos os tiros em um único frame.

É melhor você criar uma variável "AtiraFeitoLouco" que, quando ativa, começa a atirar freneticamente.
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 : [AJUDA] While e repetições 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

[AJUDA] While e repetições Empty Re: [AJUDA] While e repetições

Mensagem por vitorfernandes13 Dom 27 Abr 2014, 19:56

Willy escreveu:Neste caso, um loop não é o ideal. Usando-os, você criaria todos os tiros em um único frame.

É melhor você criar uma variável "AtiraFeitoLouco" que, quando ativa, começa a atirar freneticamente.

Foi o que eu tentei '-'
Eu criei a variavel superespecial, enquanto ela fosse verdadeira ela ficaria atirando, qual a melhor maneira de se resolver isso? Razz
vitorfernandes13
vitorfernandes13

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios : [AJUDA] While e repetições 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] While e repetições Empty Re: [AJUDA] While e repetições

Mensagem por Willy Dom 27 Abr 2014, 20:12

Bom, eu fiz uma pequeno teste aqui e funcionou. Apenas para teste, crie um projeto e crie mais dois objetos: obj_tiro e obj_controle.

No obj_tiro, coloque um sprite e um valor de speed qualquer no create.

No objeto controle, faça assim
Create:
Código:
AtiraFeitoLouco = false;

Alarm[0]:
Código:
AtiraFeitoLouco = false;

Step:
Código:
if keyboard_check_pressed(vk_space){ //Substitua pela condição que desejar
    if (alarm[0])<=0{
        AtiraFeitoLouco = true;
        alarm[0] = room_speed * 10; //10 segundos...
    }
}


if (AtiraFeitoLouco==true){//Atirar!
    t = instance_create(x,y,obj_tiro);
    t.direction = irandom(360);
}

Veja se isso resolve seu problema. Se tiver alguma dúvida, é só falar.
Flws... blz
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 : [AJUDA] While e repetições 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

[AJUDA] While e repetições Empty Re: [AJUDA] While e repetições

Mensagem por vitorfernandes13 Dom 27 Abr 2014, 20:15

Willy escreveu:Bom, eu fiz uma pequeno teste aqui e funcionou. Apenas para teste, crie um projeto e crie mais dois objetos: obj_tiro e obj_controle.

No obj_tiro, coloque um sprite e um valor de speed qualquer no create.

No objeto controle, faça assim
Create:
Código:
AtiraFeitoLouco = false;

Alarm[0]:
Código:
AtiraFeitoLouco = false;

Step:
Código:
if keyboard_check_pressed(vk_space){ //Substitua pela condição que desejar
    if (alarm[0])<=0{
        AtiraFeitoLouco = true;
        alarm[0] = room_speed * 10; //10 segundos...
    }
}


if (AtiraFeitoLouco==true){//Atirar!
    t = instance_create(x,y,obj_tiro);
    t.direction = irandom(360);
}

Veja se isso resolve seu problema. Se tiver alguma dúvida, é só falar.
Flws... blz

Vou testar amanhã senão eu taco meu computador pela janela
Posso te enviar uma MP amanhã avisando se deu certo? Happy
Se puder testar meu jogo? https://gmbr.forumeiros.com/t29828-cq-17-scapin#218356 Queria saber se está pelo menos aceitavel  bravo 
vitorfernandes13
vitorfernandes13

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 11/01/2014
Reputação : 11
Número de Mensagens : 284
Prêmios : [AJUDA] While e repetições 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] While e repetições Empty Re: [AJUDA] While e repetições

Mensagem por saim Dom 27 Abr 2014, 20:33

vitorfernandes13 escreveu:
Willy escreveu:Neste caso, um loop não é o ideal. Usando-os, você criaria todos os tiros em um único frame.

É melhor você criar uma variável "AtiraFeitoLouco" que, quando ativa, começa a atirar freneticamente.

Foi o que eu tentei '-'
Eu criei a variavel superespecial, enquanto ela fosse verdadeira ela ficaria atirando, qual a melhor maneira de se resolver isso? Razz
Estou falando a partir de uma olhada superficial pelo tópico.
Quando a gente fala de ações que se repetem a cada step, rola uma confusão entre "se" e "enquanto".

Vamos lá: "enquanto" é "while" se tudo acontece no mesmo step. Senão, se for for "em todos os steps em que..." é "if". Fica muito fácil de entender quando você parte do sentido contrário: a variável é "true" e vai ser "false" em 15 steps, você precisa criar instâncias de tiros "enquanto" ela for true. Você cria uma instância "IF" ela for true, não "while" ela for true.

Falei por falar. Se o Willy deu uma solução, ela VAI funcionar. Mas você podia não ter entendido o que ele fez, agora entendeu.
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 : [AJUDA] While e repetições 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

[AJUDA] While e repetições Empty Re: [AJUDA] While e repetições

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