Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Ajuda com botoes

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
nicoca
Membro
Membro
Reações: 0
Mensagens: 107

Contato:

Ajuda com botoes

Mensagem por nicoca » Sáb Jun 11, 2016 7:08 pm

alguem poderia me fala como faço pra tipo o carrinho chega perto de uma televisão ai pressiona ma tecla ela liga so que quando faço do jeito que sei ele pode aperte de qual quer lugar como faço pra fazer somente usando o personagem estiver na frente da televisão ?

Avatar do usuário
Ark
Membro
Membro
Reações: 0
Mensagens: 39
Localização: Rio de Janeiro

Re: Ajuda com botoes

Mensagem por Ark » Sáb Jun 11, 2016 7:48 pm

Faz com colisão, se ele colidir com o objeto aperte tal botão e liga.

Avatar do usuário
nicoca
Membro
Membro
Reações: 0
Mensagens: 107

Contato:

Re: Ajuda com botoes

Mensagem por nicoca » Sáb Jun 11, 2016 9:29 pm

ta as qual o comando ?

Avatar do usuário
vikintor
Novato
Novato
Reações: 0
Mensagens: 17

Contato:

Re: Ajuda com botoes

Mensagem por vikintor » Sáb Jun 11, 2016 9:46 pm

Boa noite nicoca 
No meu caso costumo fazer uma "gambiarra" que geralmente funciona bem:
Alem do player eu crio um outro objeto (com sprite de um quadrado pequeno) vou chamar ele de obj_collider.  

No create do player coloco este código

Código: Selecionar todos

instance_create(0,0,obj_collider)
No step do player coloco algo assim:

Código: Selecionar todos

if keyboard_check(vk_right) {x+=9 obj_collider.x = x+32}
Significa: Ao apertar a tecla da direita o player se movera a nove passos nesta direção, enquanto o objeto obj_collider será fixado na frente do player a 32 passos a direita.

Se forem as quatro direções:

Código: Selecionar todos

if keyboard_check(vk_right) {x+=9 obj_collider.x = x+32}
if keyboard_check(vk_up) {y-=9 obj_collider.y = y-32}
if keyboard_check(vk_down) {y+=9 obj_collider.y = x+32}
if keyboard_check(vk_left) {x-=9 obj_collider.x = x-32}
Agora no objeto da televisão eu coloco uma colisão entre ele e o obj_collider
No STEP coloco esse código:

Código: Selecionar todos

if keyboard_check_pressed(ord("Z"))
{
// E aqui vai o seu código da TV ligando e desligando.[/size]
}
Você pode trocar o "Z" por qualquer outra tecla.
Se acaso a TV deva ser ligada pressionando SPACE ficaria assim:

Código: Selecionar todos

if keyboard_check_pressed(vk_space)
{
// E aqui vai o seu código da TV ligando e desligando.
}

Avatar do usuário
Ark
Membro
Membro
Reações: 0
Mensagens: 39
Localização: Rio de Janeiro

Re: Ajuda com botoes

Mensagem por Ark » Dom Jun 12, 2016 12:12 am

voce pode fazer uma verificação de colisão com place_meeting, fazendo uma verificação exata da mascara do player com a televisão. ou criar um colider msm, com as posições do player.
ex : if place_meeting(x+sign(hsp),y,obj_televisão){
//liga e desliga 
}

Avatar do usuário
ValdeciVieira
Moderador
Moderador
Reações: 8
Mensagens: 122
Localização: Rio de Janeiro, Brasil

Re: Ajuda com botoes

Mensagem por ValdeciVieira » Dom Jun 12, 2016 10:58 am

Ja fiz esse codigo varias vezes

Avatar do usuário
chicoweb
Membro
Membro
Reações: 0
Mensagens: 135

Re: Ajuda com botoes

Mensagem por chicoweb » Dom Jun 12, 2016 1:18 pm

Código: Selecionar todos

d = 32 // distancia da televisao em que ele pode ligar
if position_meeting(x-d,y,obj_televisao) and keyboard_check_pressed(ord("X")){
    // Coloque aqui o cpdigo que ele liga a tv
    ligar_tv()
}
No código acima ele liga a com o tecla X e a televisão esta a esquerda dele, se ela estiver em cima, usa no Y

Código: Selecionar todos

x,y-d,obj_televisao
Se tiver em outra posição ai vc calcula ai que e facil

OBS: Eu não  uso o place_meeting, acho mil vezes melhor o position.
Meus games:
Jump James - Aventura/Estratégia/Robô
Freedom of Pala Pala - Aventura/Estratégia
Prisioneira - RPG/Bloco/Ação

Trancado

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante