Como fazer o inimigo atirar no player?

Olá ! Sou novato no makecode, e gostaria de saber como fazer o inimigo atirar no player. Será que alguém pode me ajudar?

4 Likes

Uma solução simples usa essa extensão:

jwunderl/arcade-sprite-util

Simplesmente coloque o texto aqui para baixar a extensão:

Na taba da extensão, encontre esses blocos:

(Bloco 1: posicione um sprite com distância e ângulo de um outro sprite)

(Bloco 2: define a velocidade e ângulo de um sprite)

O código:

A parte mais importante é o bloco roxo. A cada segundo, cria um tiro que é colocado na posição do inimigo. O tiro tem sua velocidade definida e seu ângulo é definido como o ângulo entre o jogador e o inimigo, fazendo o inimigo atirar na direção do jogador.

Isso usa esse bloco:

Projeto de exemplo com o código:

2 Likes

Olá @JeffersonHidekiY A extensão abaixo pode te ajudar com isso. Para usá-la, você precisa criar um novo projeto no site do Makecode, clicar em extensões e inserir isso lá.

jwunderl/arcade-sprite-util

Aqui está um exemplo de como usá-lo. Abra o link e clique em editar projeto para ver como funciona.

3 Likes

!Bem-vindo ao makecode!
Para calcular o ângulo do jogador em relação ao inimigo você deve usar o “atan2”.
“atan2” está abaixo da raiz quadrada



Em seguida, subtraia a posição do atirador da posição do alvo para x e y, respectivamente. Y vem primeiro.
image
Agora, anexe essas velocidades a um projétil. Use “sin” e “cos” para dividir o ângulo entre x e y. Essas funções também são encontradas no bloco de raiz quadrada. Por fim, multiplique seus resultados pela velocidade (em pixels por segundo) (usei 100)

Aqui está meu exemplo:

!Espero que isso ajude!
(I hope Google translate did your language justice)

4 Likes

Muito obrigado :grinning_face: :smiling_face_with_three_hearts: !! Ajudou muito :star_struck::star_struck::star_struck: !! Espero contar com a sua ajuda novamente !!!

1 Like

Muito obrigado !!! Ajudou bastante :star_struck::star_struck::star_struck::star_struck: ! Espero contar com a sua ajuda sempre !!!

1 Like