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
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.
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
Ajuda com botoes
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 ?
Re: Ajuda com botoes
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
No step do player coloco algo assim:
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:
Agora no objeto da televisão eu coloco uma colisão entre ele e o obj_collider
No STEP coloco esse código:
Você pode trocar o "Z" por qualquer outra tecla.
Se acaso a TV deva ser ligada pressionando SPACE ficaria assim:
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)
Código: Selecionar todos
if keyboard_check(vk_right) {x+=9 obj_collider.x = x+32}
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}
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]
}
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.
}
Re: Ajuda com botoes
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
}
ex : if place_meeting(x+sign(hsp),y,obj_televisão){
//liga e desliga
}
- ValdeciVieira
- Moderador
- Reações: 8
- Mensagens: 122
- Localização: Rio de Janeiro, Brasil
Re: Ajuda com botoes
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()
}
Código: Selecionar todos
x,y-d,obj_televisao
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
Jump James - Aventura/Estratégia/Robô
Freedom of Pala Pala - Aventura/Estratégia
Prisioneira - RPG/Bloco/Ação
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante