Floats e Mathf
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 16 de 85.
Você conheceu o f em Decimais precisam de um f: C# lê 0.5 como um double, e o Unity trabalha com float. O mesmo acontece com a matemática. System.Math trabalha com doubles, então float s = Math.Sin(x); falha com CS0266: Cannot implicitly convert type 'double' to 'float'.
O Unity tem uma versão para float: Mathf: Mathf.Sin, Mathf.Abs, Mathf.Sqrt, Mathf.PI. Esta boia oscilante falhava com os dois erros e compila depois da alteração:
// antes: float y = 1 + Math.Sin(Time.time * 2) * 0.5;
float y = 1 + Mathf.Sin(Time.time * 2) * 0.5f;
transform.position = new Vector3(0, y, 0);Números inteiros como 1 e 2 não precisam de sufixo: um int se converte em float sem nenhuma perda.
Desafio
FácilFaça o script do coração compilar para que ele volte a pulsar.
- Na linha de
size, troqueMath.AbseMath.SinporMathf.AbseMathf.Sin. - Troque
0.5por0.5fe mantenha o restante da fórmula.
Pressione “Jogar”: o coração cresce de 1 para 1.5 e volta, cerca de uma vez por segundo. Depois, pressione “Verificar”.
Experimente você mesmo
using System;
using UnityEngine;
public class Pulse : MonoBehaviour
{
void Update()
{
float size = 1 + Math.Abs(Math.Sin(Time.time * 3)) * 0.5;
transform.localScale = new Vector3(size, size, size);
}
}
Todas as lições de Fundamentos de Scripting no Unity
1Fundamentos de C# no Unity
Olá, UnityVariáveisDecimais precisam de um fTexto no ConsoleVariáveis que guardam valoresIf e ElseComparar númerosRevisão: Coletor de Moedas7Laços e Métodos
Repita com forLaços dentro de laçosEscreva um métodoMétodos que respondemArraysRevisão: Escada10Encontrando coisas
Buscar pelo nomeTagsBuscar por tipoReferências são melhores que FindO null do UnityRevisão: moeda mais próxima13Projeto: Desvie dos Blocos
O CorredorBlocos do Céu2Faça-o se mover
Posicione o cuboMova a cada quadroGire a cada segundoDirija com as teclasRecapitulando: dirija o cubo5Vetores
Somando vetoresDireçõesEspaço local e globalVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone8GameObjects e Componentes
Referências no InspectorObter um componenteComponentes ausentesAdicionar um componenteRequireComponentMostrar e ocultarRevisão: Interruptor de luz6Transformações e hierarquia
Pais e filhosIçar a bandeiraEscalaOlhar para as coisasMover-se em direção a um pontoRevisão: Lua em órbita9Projeto: Pegue a Estrela
O PegadorUma Estrela CadentePratique por conta própria: Playground de Unity