Problema na hora do tiro

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Problema na hora do tiro

Mensagem por Acre_Games em Dom 21 Jul 2013, 13:35

Boa a tarde a todos!

Bom galera o problema é o seguinte, eu to fazendo um pequeno jogo de plataforma para mostrar a um amigo, porque se ele gosta vai entrar com a parte gráfica. Consegui uns sprites do megaman no google, e queria ser um pouco fiel ao jogo.

Consegui fazer varias coisas(eu acho) como movimento, pulo, se encostar no inimigo sofre dano com mudança de gráfico, IA mais do que básica no inimigo, mas o problema é na hora de o personagem atirar. Eu coloquei assim no evento step:

Código:

//Atirar
if keyboard_check_pressed(ord("C"))
  {
  var_tempo_tiro_2 = 1
  if var_direita = true {instance_create(x+5,y-20,obj_tiro_1_direita)}
  if var_esquerda = true {instance_create(x-5,y-20,obj_tiro_1_esquerda)}
  }
if keyboard_check(ord("C"))
  {
  var_tempo_tiro_2 += 1
  if keyboard_check_released(ord("C")) and var_tempo_tiro_2 >= 2*30
    {
    instance_create(x+5,y-20,obj_tiro_1_direita)
    with(obj_tiro_1_direita) {sprite_index = spr_tiro_2_direita}
    }
  }

Bom a primeira parte parte funciona direitinho, eu aperto C e ele atira, mas a segunda parte não ta funcionando, eu queria que se a tecla C fosse pressionada por mais de dois segundos e depois fosse solta mudasse o gráfico do tiro, o que não ta acontecendo, mas a meu ver o código da certinho.
Obs: as variáveis que estão ai já foram declaradas no evento create.

EDIT: Bom, acho que ninguém conseguir me ajudar, mas passei algumas horas a mais tentando e acabei que conseguindo fazer o que eu queria.
Obrigado a todos.

Acre_Games

Ranking : Nota D
Número de Mensagens : 5
Idade : 21
Data de inscrição : 12/07/2013
Notas recebidas : D
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problema na hora do tiro

Mensagem por saim em Seg 22 Jul 2013, 14:53

tente tirar o
Código:
if keyboard_check_released(ord("C")) and var_tempo_tiro_2 >= 2*30
de dentro do
Código:
if keyboard_check(ord("C"))
O que está acontecendo é que se a tecla está apertada, ela não foi solta. Então nunca o segundo "if" vai retornar "true".

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum