Decimais precisam de um f
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 3 de 85.
Números inteiros não são suficientes para um jogo: um balão flutua em 3.5, um jogador corre a 4.2 unidades por segundo. Números com ponto decimal têm seu próprio tipo, float:
float speed = 4.2f;Observe o f no final. Em C#, um 4.2 simples é um double, outro tipo decimal, e as posições e os tamanhos do Unity são floats. O f informa ao C# que o número é um float. Se você omitir esse caractere, o Unity se recusará a iniciar o jogo, com este erro no Console:
error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this typeParece assustador, mas significa apenas “adicione o f”. Um número inteiro como 2 não precisa de f: ele cabe em um float como está.
Mais uma surpresa: dividir dois ints mantém apenas a parte inteira, então 7 / 2 é 3. Escreva 7 / 2f para obter 3.5.
Desafio
FácilCorrija o script do balão e, em seguida, faça-o flutuar mais alto e ficar maior.
- Pressione “Jogar”: o Console mostra o erro CS0664 na linha
height. - Altere essa linha para
float height = 3.5f;. - Altere a linha do tamanho para
float size = 1.5f;. Todo número com ponto decimal precisa def.
Pressione “Jogar”: o balão flutua a 3.5, com uma vez e meia o seu tamanho. Depois, pressione “Verificar”.
Experimente você mesmo
using UnityEngine;
public class Balloon : MonoBehaviour
{
void Start()
{
float height = 2.5;
float size = 1;
transform.position = new Vector3(0, height, 0);
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