O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

(GML) Shoot Rotation

Iniciado por Rhyan, 31/05/2020 às 13:03

31/05/2020 às 13:03 Última edição: 31/05/2020 às 13:44 por Rhyan


Criador: Rhyan;
Versão: 1.0;
Termos de Uso: Apenas dar créditos, não importa se é comercial ou não.

Basicamente, iremos fazer um tiro que, ao sair do jogador, vai rotacionar em torno do seu próprio eixo, parecido com o movimento de rotação da Terra.

OBS¹: Não, eu não vou ensinar a fazer um sistema de tiro, apenas o que foi dito acima!
OBS²: Há imagens nos spoilers para ajudar na compreensão.

Ok! Dito isso, vamos começar:

1° - Vamos criar um script (na aba de scripts). Vamos nomeá-lo de... Shoot_Rotation, que tal?

Spoiler
[close]

2° - Nesse script, vamos criar uma variável, ela irá representar o quanto de, como posso dizer... "velocidade" que nosso tiro vai rotacionar. Ela irá ser local:
var angle_rotation = 15
| OBS: Troque 15 pela velocidade.

Spoiler
[close]

3° Nesse mesmo script, vamos colocar esse código, ele irá ser o que vai fazer com que o tiro rotacione:
image_angle += angle_rotation;


O que esse código faz é, basicamente, adicionar o valor da nossa variável "angle_rotation" ao ângulo do objeto do tiro no mapa.

Spoiler
[close]

4° Agora, vamos ao obj_shoot (esse é o objeto que representa o meu tiro, vá no que representa o seu).  Agora, crie um step se você não tiver um (OBS: Se você já tiver um evento de step, você pode ir nele). Neste step, coloque o seguinte código:
script_execute(Shoot_Rotation);


Spoiler
[close]
OBS: Se no seu jogo tiver mais de um objeto de tiro, faça o mesmo em cada um.

5° Teste seu jogo e... tcharam! Seu tiro agora irá rotacionar (pelo menos é o esperado, mas, se houver algum erro, você pode comentar! :ok:

Spoiler
[close]

Bem, é basicamente isso, não é lá muito incrível, mas deixa o tiro com um aspecto mais legalzinho.

Obrigadeiro por ler :XD:.
^~^) -Rhyan.