Golfe de Bolinha de Gude
Parte da seção Física e jogabilidade do Journey de Unity da Coddy. Lição 62 de 63.
Golfe com uma bolinha de gude em um pequeno campo verde. A bolinha começa no tee: mire com as setas, segure Espaço para acumular potência e solte para dar a tacada. Ela rola, bate nas bordas e no bloco no meio e desacelera; quando fica lenta o suficiente, para completamente. Só então você pode dar outra tacada. Uma bolinha que rola até o buraco devagar cai nele; uma que chega rápido demais passa direto por cima. Quanto menos tacadas, melhor.
Escreva dois scripts: Golf na bolinha de gude e Hole no buraco.
Desafio
DifícilO Inspector fornece ao Golf pointer (a pequena bola amarela), aimSpeed (90), chargeRate (4), maxPower (6) e stopSpeed (0.3). A massa da bolinha de gude é 0.5.
- A mira é um ângulo em torno de y, 0 no início (direto à frente, +z). A seta para a direita vira a mira para a direita, e a seta para a esquerda, para a esquerda, a
aimSpeedgraus por segundo. A cada quadro, coloque o ponteiro a 1 unidade da bolinha de gude, na direção da mira. - A bolinha de gude está em repouso enquanto sua velocidade estiver abaixo de
stopSpeed. Em cada etapa da física, uma bolinha de gude em repouso é parada completamente: velocidade e velocidade angular iguais a zero. - Somente enquanto a bolinha de gude estiver em repouso: manter Espaço pressionado acumula potência a
chargeRatepor segundo, nunca acima demaxPower, e soltar Espaço chuta a bolinha de gude com um Impulse dessa potência na direção da mira. A potência então volta a 0, e umint strokespúblico aumenta em 1 e é registrado comoStroke 1.
O Inspector fornece ao Hole sinkSpeed (3).
- Quando a bolinha de gude (o objeto com o script
Golf) entrar no buraco com velocidade menor quesinkSpeed, registre o número de tacadas comoIn the cup in 2 strokes!e desative a bolinha de gude. Uma bolinha de gude mais rápida passa rolando.
Pressione Play e encaçape a bolinha de gude com o menor número de tacadas possível, depois Check.
Experimente você mesmo
using UnityEngine;
public class Golf : MonoBehaviour
{
public int strokes = 0;
[SerializeField] private Transform pointer;
[SerializeField] private float aimSpeed = 90f;
[SerializeField] private float chargeRate = 4f;
[SerializeField] private float maxPower = 6f;
[SerializeField] private float stopSpeed = 0.3f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
// mire com as setas, carregue com Space, atire ao soltar, pare quando estiver lento
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Física e jogabilidade
1Rigidbody
Gravidade e MassaEmpurrar com AddForcePular com um ImpulsoFixedUpdate para FísicaVelocidadeCorpos CinemáticosRevisão: Plataforma de Lançamento2Colisões
OnCollisionEnterO que eu acertei?Quebre no impactoNo chãoQuique e atritoFormas dos collidersRevisão: Parede destrutível5Projeto: Corrida das Moedas
A Bola RolanteMoedas para Coletar