Entrar
Tópicos semelhantes
Procurar
Últimos assuntos
» Ideia: MMFMakers, do zeropor mediamaker Qua 26 maio 2021, 12:28
» [Flash] Haunt the house
por mediamaker Sáb 19 Set 2020, 16:47
» Como a criar passo a passo engine de Movimento Grid com colisão (tipo Bomberman) completo usadno extensão Array?
por mediamaker Sex 15 Set 2017, 14:19
» CF2.5 -> 26 reais na steam
por Matheus290 Ter 22 Dez 2015, 17:52
» Aplicação com Editbox não tá rodando online
por Matheus290 Sáb 19 Set 2015, 01:38
» A Guilda continua!!!! "Âncora Team" (novo nome)
por weliowl7 Qua 16 Set 2015, 01:52
» Sub-application e Inventario
por majorcorps Dom 23 Ago 2015, 13:11
» Efeito de string
por majorcorps Sáb 22 Ago 2015, 19:55
» [PC] Pitiri 1997
por Matheus290 Sáb 20 Jun 2015, 17:10
» Teclado virtual com Edit Box
por mediamaker Sáb 20 Jun 2015, 14:10
Quem está conectado?
Há 3 usuários online :: 0 registrados, 0 invisíveis e 3 visitantes :: 1 motor de buscaNenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 251 em Ter 26 Out 2021, 22:21
Estatísticas
Temos 256 usuários registradosO último membro registrado é Sitydistta
Os nossos membros postaram um total de 5268 mensagens em 575 assuntos
Movimento de 360º, O que é e como funciona...
2 participantes
Fusion Makers :: Geral :: Matérias :: Intermediário
Página 1 de 1
Movimento de 360º, O que é e como funciona...
Dificuldade: Avançado
Extensão necessária: Fast Loop Object (Obs: você pode usar os loops do MMF , eu uso a Fast Loop por costume mesmo)
Maker: MMF2
Ao som de: Otherside - Red Hot Chili Pepers
Bom, hoje vou ensinar como fazer um movimento de 360º visto de cima, que é o mais simples e fácil pra quem está aprendendo agora.
Antes de começar, é bom que você entenda um pouco sobre ângulos, seno e cosseno, para um melhor entendimento.
Nessa matéria, vou usar counters, que são mais fáceis de escrever os eventos(não vou complicar pra mim né XD).
Ok, primeiramente crie 4 counters:
- Ângulo
Velocidade
X
Y
Agora os eventos:
- Código:
Start of Frame -> Set counter X to X("active") / Set counter Y to Y("active")
- Código:
Alwas -> Set position X(active) to value("counterX") / Set position Y(active) to value("counterY")
Explicando:
A posição dos actives vai sempre se ajustar aos valores dos counters. O primeiro evento serve para os counters começarem com a posição do active, caso contrário ele começará nas posições 0 e 0.
Agora a velocidade:
- Código:
Repeat while "Up Arrow" is pressed -> Add 1 to Counter("velocidade")
+ ("velocidade") < 10
- Código:
Repeat while "Down Arrow" is pressed -> Sub 1 to Counter("velocidade")
+ ("velocidade") > -10
Eventos simples, "cima" aumenta a velocidade e "baixo" diminui.
Próximo:
- Código:
Counter("velocidade") <> 0 -> Star Loop #0 for Abs(value("velocidade")) loop(s)
Como o movimento vai ser baseado nos loops, a quantidade se loops serão de acordo com a velocidade.
Nota: para usar o comando "abs", é necessário digitá-lo, não tem nenhum botão que faz ele aparecer =p
Ele tem a mesma função do módulo na matemática, tornar positivos os número negativos. E pra que fazer isso? Simples, mande o Fast Loop dar um número negativo de voltas e você verá XD
- Código:
(Fast Loop): Loop trigger #0
+ Counter("Velocidade") > 0 -> Add Cos(value( "Angulo" )) to Counter X / Sub Sin(value( "Angulo" )) to Counter Y
Explicando: essa é a parte mais complicada de se entender, mas não é nada difícil.
Como exemplo vou usar o ângulo 0, veja:
Se o ângulo é 0, o objeto deverá andar nesta direção ->
Logo, somente a posição X deverá aumentar, enquanto a posição Y continua a mesma.
Agora um evento para andar pra trás:
- Código:
(Fast Loop): Loop trigger #0
+ Counter("Velocidade") < 0 -> Sub Cos(value( "Angulo" )) from Counter X / Add Sin(value( "Angulo" )) from Counter Y
Praticamente a mesma coisa, a diferença é que ao invés de adicionar valores às posições nós subtraímos.
Pronto, o objeto já vai andar normalmente, para frente e para trás, mas ainda faltam duas coisinhas básicas:
1- Desaceleração:
- Código:
X Repeat while "Up Arrow" is pressed -> Sub 1 from Counter("velocidade")
+ ("velocidade") > 10
- Código:
X Repeat while "Down Arrow" is pressed -> Add 1 to Counter("velocidade")
+ ("velocidade") > -10
X indica uma ação negativa, ou seja, o comando negate.
2 - Alterar direção
- Código:
Repeat while "Left Arrow" is pressed -> Add 3 to Counter("Angulo")
- Código:
Repeat while "Right Arrow" is pressed -> Sub 3 from Counter("Angulo")
Meio óbvio =p, esses eventos servem para mudar de direção, eu usei o valor 3 porque se for só 1 ele gira muito devagar, com 3 fica bacana, mas isso fica a seu critério ^^
Pra finalizar, um evento para alterar a direção da animação:
- Código:
Always -> Set Angle("Active") to value( "Angulo" ) (Quality = 1)
Bom pessoal, é isso, espero que tenham gostado da matéria e aprendido com ela, qualquer dúvida é só postar ok
Matéria postada na BrMaker por Silas
OBS: Havia link para download de uam engine 360, mas ja havia expirado, por isso não consta na matéria.
Skilo- Usuário
- Mensagens : 32
Data de inscrição : 28/01/2010
Re: Movimento de 360º, O que é e como funciona...
Eu ainda me lembrava dessa matéria. Bravo, Silas, bravo! Explicadíssima! Até eu consegui fazer, seguindo passo-a-passo.
Agora vou fazer um jogo de 24H com essa matéria =D
Thanks.
Agora vou fazer um jogo de 24H com essa matéria =D
Thanks.
Fusion Makers :: Geral :: Matérias :: Intermediário
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos