Capítulo 16: Movimentação em Coordenadas e Roteirização
🎯 Objetivo da Aula
Nos capítulos anteriores, vimos como posicionar atores em coordenadas fixas. No entanto, um caminhão real de 40 toneladas não se “teletransporta” instantaneamente da portaria para a doca de descarga: ele se desloca suavemente pelas vias internas do pátio, respeita curvas e realiza manobras controladas. No Scratch, criamos esse movimento fluido através do bloco deslize por [segundos] até x: y:.
Ao final desta aula, você será capaz de:
- Compreender a diferença entre Salto Instantâneo (
vá para) e Movimento Suave Interpolado (deslize por). - Controlar a orientação espacial do veículo com o bloco 🔵
aponte para a direção (graus). - Configurar o Estilo de Rotação do ator para evitar que o caminhão fique de cabeça para baixo nas manobras.
- Construir o Roteirizador de Tráfego Interno por Pontos de Passagem (Waypoints) da FastLog.
📥 Material de Apoio e Roteiro de Blocos:
- 📄 Roteiro Estruturado (.txt): Baixar Capitulo_16.txt (guia textual com a sequência de blocos)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_16.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: A equipe de segurança patrimonial da FastLog definiu uma via de mão única obrigatória para todas as carretas que entram no terminal de cargas. O percurso é composto por 4 pontos de passagem (Waypoints):
- Waypoint 1 (Portaria): $X: -200, Y: -120$ apontando para a direita ($90^\circ$).
- Waypoint 2 (Balança Rodoviária): $X: -30, Y: -120$ (onde para por 2 segundos para pesagem).
- Waypoint 3 (Curva de Acesso): $X: -30, Y: 40$ (onde gira para cima, $0^\circ$).
- Waypoint 4 (Doca 02): $X: 140, Y: 40$ (estacionamento final).
Missão: Programar a navegação automatizada da carreta por esses 4 pontos, garantindo velocidade realista e orientação correta da cabine.
🧠 Fundamentos: Como Controlar o Movimento no Scratch?
1. vá para vs deslize por
| Bloco | Comportamento Visual | Aplicação Prática |
|---|---|---|
[vá para x: (X) y: (Y)] | Salto de 0 milissegundos. | Reinicialização de cena ou sumiço de ator. |
[deslize por (2) segs até x: y:] | Deslocamento suave, calculando automaticamente a velocidade. | Movimento realista de veículos e esteiras. |
2. A Rosa dos Ventos do Scratch (Direção em Graus)
No Scratch, a direção dos atores é medida em graus:
graph TD
subgraph Direcoes_Scratch ["Direção Espacial no Scratch 3.0"]
Cima["0° = Norte (Para Cima)"]
Dir["90° = Leste (Para a Direita - Padrão)"]
Baixo["180° = Sul (Para Baixo)"]
Esq["-90° = Oeste (Para a Esquerda)"]
end
style Cima fill:#2980b9,stroke:#fff,color:#fff
style Dir fill:#27ae60,stroke:#fff,color:#fff
style Baixo fill:#e67e22,stroke:#fff,color:#fff
style Esq fill:#c0392b,stroke:#fff,color:#fff3. O Estilo de Rotação (Rotation Style)
Evite o Caminhão de Cabeça para Baixo!
Quando você manda o caminhão apontar para $-90^\circ$ (esquerda), o Scratch pode girar a imagem de cabeça para baixo. Para corrigir isso:
Use o bloco 🔵 fixe o estilo de rotação para [esquerda-direita v]. Dessa forma, o veículo apenas espelha a lateral sem virar as rodas para cima!
📖 Exemplo Guiado: Roteirização Completa de Entrada na Doca
Passo a Passo no Scratch 3.0:
- Posicione o ator
Caminhaoe adicione o script:
🛠️ Prática Obrigatória 1: Manobra de Ré com Efeito Sonoro
O Desafio:
Para descarregar, o caminhão precisa dar marcha à ré para encaixar na doca:
- Comece em $x: 50, y: 0$ apontando para a direita ($90^\circ$).
- Faça o caminhão emitir o bipe de ré:
toque o som [Pip v]ou som intermitente. - Deslize lentamente por 3 segundos para trás até $x: -80, y: 0$.
- Avise na tela:
[Atracamento traseiro finalizado com sucesso!].
🛠️ Prática Obrigatória 2: Controle de Velocidade Dinâmica
O Desafio:
Crie a variável Velocidade_Transito (tempo em segundos do trajeto):
- Pergunte ao operador:
[Qual a velocidade da carreta? (1-Rápido [1 seg] | 2-Lento [4 seg]):]. - Se
1:mude [Tempo_Viagem v] para (1). - Se
2:mude [Tempo_Viagem v] para (4). - Use o valor da variável dentro do próprio bloco:
deslize por (Tempo_Viagem) segs até x: (160) y: (50).
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo do projeto com o nome:
Atividade_16_SeuNome_SeuSobrenome.sb3. - Observe a fluidez da carreta deslizando pelas vias sem saltos bruscos.
- No Microsoft Teams, envie na tarefa “Scratch Cap 16 - Roteirização por Coordenadas”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de aplicar o conceito de Interpolação Linear (LERP - Linear Interpolation) e Algoritmos de Roteamento de Frotas (VRP - Vehicle Routing Problem). Motores de jogos (Unreal Engine e Unity) e sistemas de controle de veículos autônomos da Tesla utilizam esse mesmo cálculo matemático vetorial para calcular a trajetória de curva entre waypoints.
🔥 Desafio de Fixação: Percurso em Circuito Fechado (Patrulha)
Faça uma viatura de segurança do pátio patrulhar continuamente os 4 cantos do pátio dentro de um laço sempre, utilizando 4 blocos de deslize sucessivos.
🔑 Gabarito de Código (Blocos do Scratch)
Prática 1:
Prática 2:
Desafio:
📥 Download do Roteiro Completo desta Aula:
Baixe o arquivo consolidado Capitulo_16.txt ou o pacote compactado (.zip) com os scripts e desafios da aula.
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas abaixo com base no que foi estudado neste capítulo. Ao concluir, leve o caderno até o professor para correção e visto.
- Qual é a diferença de comportamento visual entre o bloco
vá para x: y:e o blocodeslize por (segundos) segs até x: y:? - No Scratch, a quais direções (Norte, Sul, Leste ou Oeste) correspondem os ângulos 0°, 90°, 180° e -90°?
- Qual bloco deve ser usado para impedir que o caminhão fique de cabeça para baixo quando aponta para a esquerda?
- No Exemplo Guiado, em quantos segundos o caminhão desliza da Guarita até a Balança Rodoviária?
- No Exemplo Guiado, qual som é tocado ao chegar na Balança, e qual som é tocado ao estacionar na Doca final?
- Na Prática Obrigatória 1, em qual coordenada (x, y) o caminhão começa a manobra de ré, e para qual coordenada ele desliza, em quantos segundos?
- Na Prática Obrigatória 2, qual é o nome da variável criada para controlar o tempo de trajeto, e quais dois valores numéricos ela pode assumir dependendo da resposta do operador?
- Segundo o Checkpoint de Lógica & Engenharia de Software, a quais dois conceitos técnicos (um de cálculo matemático, outro de roteamento de veículos) o movimento por
deslizeé comparado? - Segundo o Cenário Prático, quantos Waypoints compõem o percurso da via de mão única definida pela segurança patrimonial, e em qual deles a carreta para por 2 segundos para pesagem?
- Qual bloco da categoria Movimento é usado no Exemplo Guiado, logo após a chegada na Guarita, para orientar o caminhão a 90 graus?