Chủ Nhật, 2 tháng 3, 2014

DEVGAME 1.5 - CẤU TRÚC CỦA MỘT TỆP MÃ - BIẾN (Phần 1)

 

Biến là nơi lưu trữ những trạng thái, giá trị, văn bản và nhiều thứ khác nữa, là kho lưu trữ thông tin trong máy. Trong Unity, các biến sẽ được hiển thị trên thẻ Inspector, vì thế, bạn không cần phải mở trình biên tập code để chỉnh sửa bất kì thứ gì về biến. Điều này còn cho phép bạn giữ lại đặc tính riêng của từng đối tượng khác nhau, cho nên bạn có thể dùng cùng một tệp mã (script) cho nhiều đối tượng với các thiết lập khác nhau.


Bây giờ, để thay đổi tốc độ xoay của khối hộp, chúng ta cần thay đổi một vài thứ trong hàm Rotate. Chúng ta áp dụng biến vào hàm này.

  • Mẹo: Tên biến nên đặt thành một từ có nghĩa, phải ngắn gọn. Nếu dài quá có thể viết tắt tên biến và thêm chú thích vào phía sau.
  • Luật: Tên biến không được bắt đầu bởi chữ số, kí tự đặc biệt hoặc có chứa khoảng trắng và có nhiều tên không được đặt. Nên đặt tên biến là kí tự không in hoa, khi tên biến được viết hoa, sẽ xuất hiện khoảng trắng phía trước từ được viết in hoa đó trong thẻ Inspector.

1. Double click vào file java SimpleRotate và bổ sung các phần được tô xanh:

#pragma strict

var myDegrees = 50;

function Update () {
    transform.Rotate(0,myDegrees * Time.deltaTime,0);
}


2. Ấn Ctrl + S để lưu file script lại.

3. Tại thẻ Hierarchy, nhấp vào nút tam giác phía trước Cube Parent để hiển thị đối tượng con Cube.

 

4. Nhấp chọn Cube và nhìn qua thẻ Inspector sẽ thấy hiển thị biến mới.


Chú ý sẽ thấy tên biến giờ đây được viết hoa kí tự đầu và ngăn cách nhau bởi dấu khoảng trắng. Vì khi đặt tên biến, trước kí tự in hoa sẽ được thêm dấu cách và tất cả các từ đều sẽ được in hoa chữ đầu dù rằng trong file script chúng ta viết thường.

5. Nhấp nút Play và bạn sẽ không thấy gì thay đổi cả.

6. Double click vào file java SimpleMove và đổi giá trị 2 thành 0.5 để làm khối hộp di chuyển chậm lại, kéo dài thời gian khối hộp di chuyển ra khỏi màn hình.

7. Lưu file script lại và nhấp chuột chọn Cube ở thẻ Hierarchy.

8. Nhấp nút Play.

9. Tại thẻ Inspector, đổi giá trị của biến My Degrees từ 50 thành 200.




Khối hộp lúc này quay nhanh hơn.

10. Nhấp nút Play lần nữa để ngừng game.

Và lúc này, biến giá trị bị khôi phục về giá trị ban đầu là 50.


  • Luật: Trong Unity, các điều chỉnh trong quá trình game đang chạy (Sau khi nhấn nút Play để chạy game) đều bị mất khi dừng game. Điều này giúp bạn kiểm tra quá trình thực thi mà không làm ảnh hưởng đến các thứ khác. Nếu bạn muốn điều chỉnh thực sự, bạn phải ngừng quá trình chạy game thì mới thay đổi thực sự được.

11. Double click vào file java SimpleRotate và thay đổi giá trị biến thành 100 và lưu file script lại.


Lúc này, giá trị biến ở thẻ Inspector vẫn được giữ nguyên là 50 và không hề bị thay đổi.


12. Nhấp nút Play.

Tốc độ quay vẫn chậm hơn so với giá trị đã được thay đổi trong file script. Bởi giá trị trong thẻ Inspector luôn luôn được sử dụng và không bị thay đổi bởi việc điều chỉnh trong file script.

  • Luật: Khi thay đổi giá trị biến trong thẻ Inspector, chương trình sẽ luôn sử dụng giá trị biến này và bỏ qua giá trị trong file script.

13. Nhấp nút Play lần nữa để dừng.

14. Tại thẻ Inspector, thay đổi giá trị biến thành 200.


15. Nhấp nút Play để kiểm tra thành quả.

  • Chú ý: Nếu bạn đặt tốc độ quay quá nhanh, nó có thể nhấp nháy hoặc quay chậm hơn hoặc bị quay lùi trên các máy tính chạy chậm bởi không thể xử lý được các khung hình có tốc độ nhanh.

Không có nhận xét nào:

Đăng nhận xét