Số thập phân cần có f
Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 3 trên 85.
Số nguyên không đủ cho một trò chơi: một quả bóng bay lơ lửng ở vị trí 3.5, một người chơi chạy với tốc độ 4.2 đơn vị mỗi giây. Các số có dấu thập phân có kiểu dữ liệu riêng, float:
float speed = 4.2f;Hãy chú ý chữ f ở cuối. Trong C#, 4.2 thông thường là một kiểu số thập phân khác, double, còn vị trí và kích thước trong Unity dùng kiểu float. Chữ f cho C# biết số đó có kiểu float. Nếu bỏ chữ này, Unity sẽ không khởi động trò chơi và hiển thị lỗi sau trong Console:
error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this typeLỗi trông đáng sợ, nhưng chỉ có nghĩa là “thêm chữ f”. Số nguyên như 2 không cần f: nó có thể dùng làm số float như hiện tại.
Còn một điều bất ngờ nữa: khi chia hai số int, kết quả chỉ giữ lại phần nguyên, vì vậy 7 / 2 bằng 3. Viết 7 / 2f để có kết quả 3.5.
Thử thách
DễSửa script của quả bóng bay, rồi làm cho nó bay cao hơn và to hơn.
- Nhấn "Chơi": Console hiển thị lỗi CS0664 ở dòng
height. - Đổi dòng đó thành
float height = 3.5f;. - Đổi dòng kích thước thành
float size = 1.5f;. Mọi số có dấu thập phân đều cần cóf.
Nhấn "Chơi": quả bóng bay ở độ cao 3.5, với kích thước gấp một lần rưỡi. Sau đó nhấn "Kiểm tra".
Tự làm thử
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);
}
}
Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity
1C# cơ bản trong Unity
Xin chào, UnityBiếnSố thập phân cần có fVăn bản trong ConsoleBiến có thể ghi nhớIf và elseSo sánh các sốÔn tập: Thu thập xu7Vòng lặp và phương thức
Lặp lại với forVòng lặp lồng nhauViết phương thứcPhương thức trả lờiMảngÔn tập: Cầu thang2Làm cho nó chuyển động
Đặt khối lập phươngDi chuyển theo từng khung hìnhXoay mỗi giâyĐiều khiển bằng các phímÔn tập: Lái khối lập phương5Vectơ
Cộng vectơPhương hướngKhông gian cục bộ và không gian thế giớiTốc độ theo đường chéoKhoảng cách giữa các vậtVector3 là một structÔn tập: Người điều khiển drone8GameObject và thành phần
Tham chiếu trong InspectorLấy một thành phầnThành phần bị thiếuThêm một thành phầnRequireComponentHiện và ẩnÔn tập: Công tắc đèn3Inspector
Các trường trong InspectorSerializeFieldSố thực và MathfThuộc tính trong InspectorÔn tập: thang máy6Biến đổi và hệ phân cấp
Đối tượng cha và conKéo cờ lênTỷ lệNhìn vào các vật thểDi chuyển đến một điểmÔn tập: Mặt trăng quay quanh9Dự án: Bắt lấy ngôi sao
Người bắt saoNgôi sao rơiTự luyện tập: Playground Unity