Conectar-se
Quem está conectado
26 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 23 Visitantes

gart30, Katerp, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 02/02/2009
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Colisão seguida de toque na tecla

em Sab 16 Maio 2009, 14:22
Como posso fazer uma colisão com o player em um objeto de forma que quando o player colida com este objeto e pressione algum botão do teclado - ex: o "0" - execute algum código ou outra coisa do tipo.

Obrigrado pelas respostas Very Happy
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

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

Re: Colisão seguida de toque na tecla

em Sab 16 Maio 2009, 19:01
Nunca tentei fazer isso, mas tenta colocar isso aqui no na colisão:

Código:

if keyboard_check(vk_numpad0){código que você vai usar}


FLWS!
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Colisão seguida de toque na tecla

em Sab 16 Maio 2009, 19:12
@Alex FC escreveu:Nunca tentei fazer isso, mas tenta colocar isso aqui no na colisão:

Código:

if keyboard_check(vk_numpad0){código que você vai usar}


FLWS!


Desse jeito funciona, mas, mesmo se você já estiver segurando antes de colidir, vai realizar as ações.

Se você quer que só aconteça alguma coisa se apertar enquanto estiver colidindo, troque o "keyboard_check" por "keyboard_check_pressed", mas assim realmente só funcionará enquanto estiver colidindo, se for um objeto em movimento ou coisa do tipo, talvez o tempo para apertar fique curto demais. Mas se funcionar blz Very Happy
avatar
Data de inscrição : 12/04/2009
Número de Mensagens : 190
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Colisão seguida de toque na tecla

em Sab 16 Maio 2009, 21:13
haa to ligado tu que faze um jogo no stilo guitar hero eu tabem temtei e fico do mesmo jeito
desculpa por naoa ajudar
avatar
Data de inscrição : 02/02/2009
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colisão seguida de toque na tecla

em Dom 17 Maio 2009, 13:51
Vlw pessoal.
Mais não deu desta forma.
Olha o erro que deu

___________________________________________
FATAL ERROR in
action number 1
of Collision Event with object object0
for object object1:

COMPILATION ERROR in code action
Error in code at line 1:
if keyboard_check_pressed (vk_numpad0){script0}

at position 47: Variable name expected.


PS: em script0 eu criei um script e botei um script pra mudar de room [só pra teste]

Mais mesmo assim
Obrigrado a todos
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: Colisão seguida de toque na tecla

em Dom 17 Maio 2009, 14:57
tem q se assim:

script0();
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

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

Re: Colisão seguida de toque na tecla

em Dom 17 Maio 2009, 15:00
Eu acho que você errou aqui:

Código:
{script0}

o certo é assim:

Código:

if keyboard_check_pressed (vk_numpad0){script_execute(script0)}

FLWS!
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: Colisão seguida de toque na tecla

em Dom 17 Maio 2009, 15:12
nunca use script execute, isso é um venen, apenas chame o script como se voce uma função
avatar
Data de inscrição : 02/02/2009
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colisão seguida de toque na tecla

em Dom 17 Maio 2009, 16:32
Funcionou. Só tem um probleminha, só funciona se eu pressionar uma tecla de movimento do player contra o objeto [podendo ser um "teletransporte"] e depois apertar o "0". Não tem alguma forma de funcionar sem fazer isto [ou seja, sem ter que pressionar a tecla de movimento] somente chega, colide, solta o botão de movimento e depois aperta o "0"? Very Happy
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Colisão seguida de toque na tecla

em Ter 19 Maio 2009, 17:07
Talvez você fez os códigos do player de um jeito que, quando ele encosta neste objeto, ele volta, assim, ele só estará colidindo enquanto estiver segurando alguma tecla na direção desse objeto.

Quais os códigos que você colocou na colisão do player com esse objeto?


Mas também tem outro jeito, em vez de você usar o evento de colisão, você pode colocar no Step:

Código:
if (place_meeting(x+1, y, objeto) || place_meeting(x-1, y, objeto)) && keyboard_check_pressed(vk_numpad0)
{
    script0();
}

Assim, se houver uma instancia do tal objeto 1 pixel à direita ou à esquerda, quando apertar "0", vai realizar o script. (Obs.: Você pode aumentar o "1") (Obs².: Assim só funfa se o objeto estiver na esquerda ou direita, não em cima nem embaixo) (Obs³.: Troque "objeto" pelo objeto em que o player colide) (Obs²*².: Pra quê tanta observação...)
avatar
Data de inscrição : 02/02/2009
Número de Mensagens : 18
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Colisão seguida de toque na tecla

em Ter 19 Maio 2009, 17:31
Vlw a todos. PROBLEMA RESOLVIDO.
OBRIGADO MESMO. Não tinha ideia de como fazer isso. Very Happy
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