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


(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 : 45
Número de Mensagens : 403
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 : 2211
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 : 45
Número de Mensagens : 403
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 : 2211
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