소수에는 f가 필요해요
Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 85개 중 3번째.
정수만으로는 게임을 만들기에 충분하지 않습니다. 풍선은 3.5에서 떠 있고, 플레이어는 초당 4.2단위의 속도로 달립니다. 소수점이 있는 숫자에는 float라는 고유한 형식이 있습니다:
float speed = 4.2f;끝에 있는 f에 주목하세요. C#에서 일반적인 4.2는 또 다른 소수 형식인 double이며, Unity의 위치와 크기는 float입니다. f는 C#에 해당 숫자가 float임을 알려 줍니다. 이를 빼면 Unity가 게임을 시작하지 못하고, Console에 다음 오류가 표시됩니다:
error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this type무서워 보이지만, "f를 추가하라"는 뜻일 뿐입니다. 2와 같은 정수에는 f가 필요하지 않습니다. 그대로 float에 들어갈 수 있습니다.
한 가지 더 알아둘 점은 int 두 개를 나누면 정수 부분만 남으므로, 7 / 2는 3이 됩니다. 3.5를 얻으려면 7 / 2f라고 쓰세요.
챌린지
쉬움풍선의 스크립트를 수정한 다음, 더 높이 더 크게 떠오르게 하세요.
- ‘플레이’를 누르세요. 콘솔에
height줄의 오류 CS0664가 표시됩니다. - 해당 줄을
float height = 3.5f;로 바꾸세요. - 크기 줄을
float size = 1.5f;로 바꾸세요. 소수점이 있는 모든 숫자에는f가 필요합니다.
‘플레이’를 누르세요. 풍선이 높이 3.5에서 원래 크기의 1.5배로 떠오릅니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
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);
}
}
Unity 스크립팅 기초의 모든 레슨
직접 연습해 보세요: Unity 플레이그라운드