Conectar-se
Quem está conectado
33 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 31 Visitantes

CRP-Max, Marlene Capeta

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 28/09/2013
Número de Mensagens : 21
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

[Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 01:13
Bom,criei um jogo simples de avião para testar uns comandos novos que aprendi,coloquei uma imagem de um avião e uma imagem de tiro. Bom criei o: obj_player e obj_bala,no evento create do obj_player coloquei: velocidade = 6 e no step do obj_player fiz a movimentação com o seguinte código:
Código:
//Movimentação Vertical
//Movimentação para Cima
if keyboard_check(vk_up)
{
y -= velocidade
image_angle=360
}
else
//Movimentação para baixo
if keyboard_check(vk_down)
{
y += velocidade
image_angle=180
}
else
//Movimentação Horizontal
//Movimentação para Esquerda
if keyboard_check(vk_left)
{
x -=velocidade
image_angle=90
}
else
//Movimentação para Direita
if keyboard_check(vk_right)
{
x += velocidade
image_angle=270
}

//Tiro Horizontal
if keyboard_check(vk_space)
{
if image_angle=270
{
with(instance_create(x+20,y,obj_bala))
{
motion_set(360,20)
}
}
}


if keyboard_check(vk_space)
{
if image_angle=90
{
with(instance_create(x-20,y,obj_bala))
{
motion_set(180,20)
}
}
}


//Tiro Vertical
if keyboard_check(vk_space)
{
if image_angle=360
{
with(instance_create(x,y-20,obj_bala))
{
motion_set(90,20)
}
}
}

if keyboard_check(vk_space)
{
if image_angle=180
{
with(instance_create(x,y+20,obj_bala))
{
motion_set(270,20)
}
}
}
Funcionou muito bem,o código de movimentação,acontece são muitas balas são disparadas,e queria que somente fosse permitido uma bala a cada 20 milissegundos ,eu vi o tutorial do reddragon mais mesmo assim não entendi a parte sobre Alarms,por isso podem me dizer como eu faço isso?


Última edição por BrunoMotaSantos em Dom 06 Out 2013, 15:16, editado 1 vez(es)
avatar
Data de inscrição : 19/09/2013
Número de Mensagens : 190
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 22
Ver perfil do usuário

Re: [Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 02:00
No objeto do player faça isso:

CREATE
Código:

atirar = true
No STEP coloca isso para todas direção, arrume o angulo e adireção da bala a ser criada.:
Código:

if keyboard_check(vk_space)
{
if image_angle=180
{
alarm[0] = 30//30 é 1 segundo
atirar = false
with(instance_create(x,y+20,obj_bala))
{
motion_set(270,20)
}
}
}
Agora no ALARM 0:
Código:

atirar = true
flw
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 02:21
Te garanto que depois que ler o [Tutorial] - Aprendendo a usar Alarms!, você vai resolver este problema facilmente...

Boa leitura! blz
avatar
Data de inscrição : 28/09/2013
Número de Mensagens : 21
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: [Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 09:08
PedroSilva escreveu:No objeto do player faça isso:

CREATE
Código:

atirar = true
No STEP coloca isso para todas direção, arrume o angulo e adireção da bala a ser criada.:
Código:

if keyboard_check(vk_space)
{
if image_angle=180
{
alarm[0] = 30//30 é 1 segundo
atirar = false
with(instance_create(x,y+20,obj_bala))
{
motion_set(270,20)
}
}
}
Agora no ALARM 0:
Código:

atirar = true
flw
Cara não funcionou aqui as balas continuam na mesma coisa.
avatar
Data de inscrição : 14/09/2013
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 10:41
quando nao tem cão caça-se com gato: tente o seguinte: crie um obj_control. no obj_control cria uma variavel "disparo" valor zero. marque invisivel põe na room. vou explicar em dnd, si sabes pões em codigo:
na tecla que usas para disparar coloque:
"test variable: aplique a object obj_control
crie o alarme0=20
variable: disparo
valor: 0
operation: equal to"
arraste o icon set variable e: aplique a object obj_control, variable: disparo
valor:1 dessa vez marque relative. (explicando: o valor da variavel disparo é 1, si você clicar no botão que dispara nao vai disparar, poque so dispara quando a variavel disparo for=0)
arraste o icone "else"
não fazer nada, ou tocar só o um som de desparo.
no envento alarme0: e arraste o icon set variable e: aplique a object obj_control, variable: disparo
valor:-1. marque relative(o valor da variavel disparo volta a ser 0 e si clicares na tecla de disparo, vai disparar). cria a bala.
até conseguires o cão, podes usar o gato que vai funcionar para a tua pergunta.
ajusta o tempo do alarme si veres que as balas estao a sair muito rapido ou lento.
avatar
Data de inscrição : 28/09/2013
Número de Mensagens : 21
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: [Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 13:52
tomxope escreveu:quando nao tem cão caça-se com gato: tente o seguinte: crie um obj_control. no obj_control cria uma variavel "disparo" valor zero. marque invisivel põe na room. vou explicar em dnd, si sabes pões em codigo:
na tecla que usas para disparar coloque:
"test variable: aplique a object obj_control
crie o alarme0=20
variable: disparo
valor: 0
operation: equal to"
arraste o icon set variable e: aplique a object obj_control, variable: disparo
valor:1 dessa vez marque relative. (explicando: o valor da variavel disparo é 1, si você clicar no botão que dispara nao vai disparar, poque so dispara quando a variavel disparo for=0)
arraste o icone "else"
não fazer nada, ou tocar só o um som de desparo.
no envento alarme0: e arraste o icon set variable e: aplique a object obj_control, variable: disparo
valor:-1. marque relative(o valor da variavel disparo volta a ser 0 e si clicares na tecla de disparo, vai disparar). cria a bala.
até conseguires o cão, podes usar o gato que vai funcionar para a tua pergunta.
ajusta o tempo do alarme si veres que as balas estao a sair muito rapido ou lento.
Nem com o google tradutor consegui entender o que você escreveu..Se for ajudar formate bem o texto para que eu possa entender o que você quis dizer..
avatar
Data de inscrição : 19/09/2013
Número de Mensagens : 190
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 22
Ver perfil do usuário

Re: [Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 14:28
Reputação da mensagem: 100% (1 votos)
O cara foi mal esqueci de um negócio no code:
Código:

if keyboard_check(vk_space) and atirar = true
{
if image_angle=180
{
alarm[0] = 60//30 é 1 segundo
atirar = false
with(instance_create(x,y+20,obj_bala))
{
motion_set(270,20)
}
}
}
Tenta agora.
avatar
Data de inscrição : 28/09/2013
Número de Mensagens : 21
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Re: [Resolvido][Alarms]Tiro a cada 20 milisegundos.

em Dom 06 Out 2013, 15:15
PedroSilva escreveu:O cara foi mal esqueci de um negócio no code:
Código:

if keyboard_check(vk_space) and atirar = true
{
if image_angle=180
{
alarm[0] = 60//30 é 1 segundo
atirar = false
with(instance_create(x,y+20,obj_bala))
{
motion_set(270,20)
}
}
}
Tenta agora.
Cara era isso mesmo,obrigado!




Tópico trancado.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum