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

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» 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


(Resolvido)Limite de tiros

+2
Mateus O de Andrade
gabriel33245900
6 participantes

Ir para baixo

(Resolvido)Limite de tiros Empty (Resolvido)Limite de tiros

Mensagem por gabriel33245900 Seg 08 Set 2014, 09:21

Então criei meu personagem para atirar só que queria saber como faz limite de atirar tipo quero que ele só pode atirar 3 tiro por distancia  tipo após os tiro ficar numa certa distancia que eu colocar eu possa continuar atirando tipo atirei 3 tiro depois que ele sair da minha tela eu posso atirar denovo =p
quero que ele tenha limite de atirar só ate 3 tiros e depois espere os tiro sair do mapa para atirar de novo
if keyboard_check_pressed(ord("A")){
if direita = false{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index=sprite14
motion_set(180,20)}}
if direita = true{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index= sprite13
motion_set(0,20)}}}

esse é o codigo das minhas bala o que preciso para fazer limite de tiros ate sair do mapa os tiro


Última edição por gabriel33245900 em Ter 09 Set 2014, 07:46, editado 1 vez(es)
gabriel33245900
gabriel33245900

Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por Mateus O de Andrade Seg 08 Set 2014, 09:54

Bom dia Colega,
Acho que primeiro você deve criar uma varável para iidentificar que ele está atirando (global.atirando=false seria bom)
Altere isso também.
if keyboard_check_pressed(ord("A")) && global.atirando=false
E quando você apertar a tecla de tiro coloque o seguinte
if direita = false{
global.atirando=true

Isso vai limitar seu tiro.
Para atirar novamente quando a bala for destruida:
No projétil coloque um evento outside room e nele coloque um destroy self e set variable "global.atirando=true"
Isso fara você atirar novamente.

OBSERVAÇÃO: Isso é apenas para ele ter um limite de tiro até o outro ser destruído. Para fazer o que você quer você deverá aprender a trabalhar com alarmes ou outra função, mas não tenho muito tempo para pensar em alguma outra solução. Desculpe, mas daqui a pouco surge uma outra dica para você.

Espero ter ajudado cara.
Mateus O de Andrade
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 Seg 08 Set 2014, 10:01

quero que o tiro seja 3 como fasso para ser 3 tiros amigo = alguem me ajuda ai Sad após os 3 tiro serem destruido posso atirar mais 3
gabriel33245900
gabriel33245900

Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por GabrielXavier Seg 08 Set 2014, 11:07

 if global.atirando<3{
//aqui você cria a instancia da bala
}

no "create" do obj_bala você adiciona mais um na variavel global.atirando

"global.atirando+=1;"

no no evento "outside room" do obj bala você usa o "instance_destroy();"

E no "evento destroy" do obj bala você diminui 1 da variavel 
global.atirando

"global.atirando-=1;"

Não sei se vai funcionar nem tive tempo de testar  pale
Mas tenta ai, vai que funciona  Laughing

Edit:
Dessa forma você vai poder ter 3 instancias do obj_bala na room por exemplo voce deu tres tiros, nao pode atira mais ate que pelo menos um obj_bala saia da room, assim que o primeiro tiro sair da room ainda vao restar dois obj_bala na room e voce ja podera atirar mais uma vez,
Assim serve ou você prefere que so seja possivel atirar denovo assim que as tres balas sairem da room?


Edit2: Sim Matheus O tem que ser <3, esperar ele vir pra ver oque ele quer kk


Última edição por GabrielXavier em Seg 08 Set 2014, 11:24, editado 1 vez(es)
GabrielXavier
GabrielXavier

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 40
Número de Mensagens : 399
Prêmios : (Resolvido)Limite de tiros Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por Mateus O de Andrade Seg 08 Set 2014, 11:23

A dica do Gabriel vai funcionar mas vai dar 4 tiros, só tem que ser if global.atirando<3{ para deixar com apenas 3 tiros. E mesmo assim, quando um tiro for destruído outro poderá ser disparado. Se você quer que somente depois que os 3 tiros sejam destruídos possa atirar novamente, ainda terá que fazer alterações. Não sei qual sua ideia, mas acho que do modo que o Gabriel propôs fica melhor.
Para fazer como você quer, a situação para alterar a variável atirando teria que ser
se atirando=3 e não existir nenhuma instancia "tiro" na room
{global.atirando=0}
Só testando para verificar se vai dar certo.
Mateus O de Andrade
Mateus O de Andrade

Games Ranking : Nota D

Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por theguitarmester Seg 08 Set 2014, 11:24

Não pude deixar de comentar este tópico, tamanha quantidade de erros ortográficos, é quase um assassinato dela.
Tente escrever melhor, use vírgulas(nos lugares certos), concordâncias, aplique algumas normas simples, não precisa ser um professor de português, mas escrever corretamente não faz mal a ninguém, pelo contrário, ajuda até em quem não te conhece formar um pré conceito positivo sobre você.


Sobre sua questão, tem vários jeitos de resolver, alguns mais "difíceis"(mas melhores) e outros mais fáceis, então dependerá de seu nível de conhecimento para eu poder lhe mostrar a melhor maneira(das que sei) para você. Mas para não ter que esperar você responder esta mensagem informando o seu conhecimento, vou fazer alguma suposição de o quanto você sabe através de sua dúvida, escrita e código. Julgando por estes 3 elementos anteriores, acredito que você seja iniciante, mas já sabe programar em GML, então não terá dificuldade para entender a ideia:

- Crie uma variável que cuidará da quantidade de tiros disponíveis.
- Se você tem tiros disponíveis, pode atirar.
- Cada vez que atira, abaixa um tiro disponível.
- cada vez que o tiro sai do campo de visão, aumenta um tiro disponível.

Aí está a lógica do que você quer, que vale para qualquer linguagem.


Aplicado em GML:
No objeto que vai atirar
CREATE:
Código:
globalvar tiro;tiro=3

NO EVENTO DO TIRO(no seu caso, após o keyboard_check_pressed(ord("A"))):
Código:
if tiro>0
{
tiro-=1
//Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
}
Objeto do tiro(tiro_de_fogo)

use o evento outside view, e dentro dele coloque:
Código:
instance_destroy
tiro+=1

Dúvidas? só escrever.

Editado: mensagem escrita antes de ver a do GabrielXavier.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2209
Prêmios : (Resolvido)Limite de tiros Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por GabrielXavier Seg 08 Set 2014, 11:33

O theguitar deu o exemplo mais certo da parada, ao colocar a bala para ser destruida ao sair da room se a room for grande o obj_Tiro_de_fogo vai sair da view e ainda demorara para ser destruido, e a ideia dele de atirar somente se tiver balas disponiveis é como funciona no mundo real então obviamente é a mais correta.
Então, ignore meu post e va pelo post do theguitar haha


So resta saber se ele quer que a prossima remessa de tiros podera vir somente depois que as tres instancias do obj_Tiro_de_fogo forem destruidas ou não.
GabrielXavier
GabrielXavier

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 40
Número de Mensagens : 399
Prêmios : (Resolvido)Limite de tiros Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 Seg 08 Set 2014, 18:39

guitar eu fiz isso
STEP:
Código:
if keyboard_check_pressed(ord("A")){
if tiro>0
{
tiro-=1
//Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
}
if direita = false{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index=sprite14
motion_set(180,20)}}
if direita = true{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index= sprite13
motion_set(0,20)}}}
eu deixei o step do personagem que atira assim

CREATE do personagem que atira
Código:
    globalvar tiro;tiro=3
create da bala:
    globalvar tiro;tiro=3

outside view 0
instance_destroy();
tiro+=1
botei o (); porque aqui não funciona intance_destroy só esse mesmo então meu personagem ainda continua atirando daquele geito :l não mudou nada
gabriel33245900
gabriel33245900

Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por WellingtonBecker Seg 08 Set 2014, 18:50

Amigo, o certo no create é globalvar tiro=3
WellingtonBecker
WellingtonBecker

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 Seg 08 Set 2014, 18:53

wellington esse que tu colocou e 1 simbolo não reconhecido para meu game maker 8.0
gabriel33245900
gabriel33245900

Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por WellingtonBecker Seg 08 Set 2014, 18:58

Humm, coloque apenas tiro=3
WellingtonBecker
WellingtonBecker

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por DieBoy Seg 08 Set 2014, 19:04

Isso é apenas um exemplo. Ajeite o código do jeito que deseja:

step do player:
Código:

if ( keyboard_check_pressed(ord("A")) && instance_number(Tiro_de_fogo) < 3){ //Se tiver menos de 3 balas, ele atira
    instance_create(x, y, Tiro_de_fogo);
}

Step do objeto Tiro_de_fogo:
Código:

if (x > room_width || x < 0 || y > room_height || y < 0){
    instance_destroy(); //Se sair da sala, ele se destrói
}
DieBoy
DieBoy

Data de inscrição : 22/08/2014
Reputação : 49
Número de Mensagens : 91
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por theguitarmester Seg 08 Set 2014, 21:32

Não era para somente jogar o código que fiz em cima do seu, era para misturá-lo.

no espaço em que escrevi "//Ação de atirar, criar projétil - no seu caso... " era para colocar ali o seu código de tiro.

Mas isso se arruma facilmente, colocando seu código de tiro dentro do SE TIRO É MAIOR QUE 0, para assim, só atirar quando tiver tiro, ficando assim:
Código:
    if keyboard_check_pressed(ord("A")){
    if tiro>0
    {
    tiro-=1
    //Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
   
    if direita = false{
    with( instance_create(x,y,Tiro_de_fogo)){
    sprite_index=sprite14
    motion_set(180,20)}}
    if direita = true{
    with( instance_create(x,y,Tiro_de_fogo)){
    sprite_index= sprite13
    motion_set(0,20)}}}
}
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2209
Prêmios : (Resolvido)Limite de tiros Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

Mensagem por gabriel33245900 Ter 09 Set 2014, 07:46

O dieboy já resolveu meu problema guitar =p Tópico resolvido!
gabriel33245900
gabriel33245900

Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios : (Resolvido)Limite de tiros 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

(Resolvido)Limite de tiros Empty Re: (Resolvido)Limite de tiros

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