Entrar
Últimos assuntos
» player não consegue andarpor 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
Página 1 de 1
(Resolvido)Limite de tiros
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
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- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
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.
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- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
quero que o tiro seja 3 como fasso para ser 3 tiros amigo = alguem me ajuda ai após os 3 tiro serem destruido posso atirar mais 3
gabriel33245900- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
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
Mas tenta ai, vai que funciona
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
//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
Mas tenta ai, vai que funciona
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- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: (Resolvido)Limite de tiros
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.
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- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
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:
NO EVENTO DO TIRO(no seu caso, após o keyboard_check_pressed(ord("A"))):
use o evento outside view, e dentro dele coloque:
Dúvidas? só escrever.
Editado: mensagem escrita antes de ver a do GabrielXavier.
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)
}
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.
Re: (Resolvido)Limite de tiros
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.
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- Games Ranking :
Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 45
Número de Mensagens : 403
Prêmios :
x 0 x 1 x 0
x 0 x 1 x 1
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
Re: (Resolvido)Limite de tiros
guitar eu fiz isso
STEP:
CREATE do personagem que atira
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
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)}}}
CREATE do personagem que atira
- Código:
globalvar tiro;tiro=3
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- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
Amigo, o certo no create é globalvar tiro=3
WellingtonBecker- Games Ranking :
Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
wellington esse que tu colocou e 1 simbolo não reconhecido para meu game maker 8.0
gabriel33245900- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
Humm, coloque apenas tiro=3
WellingtonBecker- Games Ranking :
Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
Isso é apenas um exemplo. Ajeite o código do jeito que deseja:
step do player:
Step do objeto Tiro_de_fogo:
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- Data de inscrição : 22/08/2014
Reputação : 49
Número de Mensagens : 91
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: (Resolvido)Limite de tiros
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:
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)}}}
}
Re: (Resolvido)Limite de tiros
O dieboy já resolveu meu problema guitar =p Tópico resolvido!
gabriel33245900- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido] Limite de tiros
» Limite de Tiros
» [RESOLVI]Limite de tiros
» [RESOLVIDO] Tiros restantes...
» [RESOLVIDO]Dúvida sobre tiros
» Limite de Tiros
» [RESOLVI]Limite de tiros
» [RESOLVIDO] Tiros restantes...
» [RESOLVIDO]Dúvida sobre tiros
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos