Bài trước: Học làm game (3) - Làm quen với Unity
-----
Tạo các khối hình
(groups) I, J, L, T, S, Z, O
Tạo GameObject rỗng bằng cách bấm vào menu GameObject > chọn Create Empty. Unity sẽ tạo ra một
GameObject trong cửa sổ Hierarchy.
Chuột phải vào GameObject
> chọn Remane > đổi tên thành GroupO
Kéo ảnh block
trong cửa sổ Assets thả vào đối tượng GroupO trong cửa sổ Hierarchy, làm 4 lần.
Chúng ta sẽ thiết lập tọa độ cho các block để tạo ra khối-O
(GroupO). Chọn lần lượt các block, và thiết lập giá trị như sau:
– Block: X = 0 Y = 0
– Block (1): X =
0 Y =1
– Block (2): X =1
Y =0
– Block (3): X = 1 Y =1
Kết quả,
Với mỗi Khối hình, chúng ta sẽ tạo ra một Prefab bằng cách
kéo Khối hình (GroupO) từ cửa sổ Hierarchy vào cửa sổ Project.
– Prefab là viết tắt của
pre-fabricated, nghĩa là chế sẵn (chế tạo sẵn, tiền chế). Prefab là một
GameObject hoàn chỉnh sau khi thêm các thuộc tính và được lưu trữ để tái sử dụng.
Các GameObject được nhân bản từ một prefab sẽ giống nhau hoàn toàn. Để tạo ra một
prefab, chỉ cần kéo một GameObject từ cửa sổ Hierarchy vào cửa sổ Project.
Sau khi tạo xong prefab, chúng ta không cần GroupO trong cửa
sổ Hierarchy nữa, nên có thể chuột phải vào nó > chọn Delete để xóa.
Tạo các khối hình còn lại I, J, L, T, S, Z
– Giả sử, mỗi ô vuông
(block) có kích thước mỗi cạnh là 1cm, vậy khi thiết lập tọa độ X = 0, Y = 0, ô
vuông này sẽ được đặt ở đâu trên hệ tọa độ Oxy. Bạn có thể chọn biểu tượng như
trong hình dưới đây để quan sát và suy nghĩ. Tọa độ (x,y) có phải là của tâm của
ô vuông không?
GroupI
– Block: X = 0 Y
= 0
– Block (1): X =
0 Y = 1
– Block (2): X =0
Y = 2
– Block (3): X = 0
Y = 3
GroupJ
– Block: X = 0 Y
= 0
– Block (1): X = 1
Y = 0
– Block (2): X = 1
Y = 1
– Block (3): X = 1
Y = 2
GroupL
– Block: X = 0 Y
= 0
– Block (1): X = 1
Y = 0
– Block (2): X = 0
Y = 1
– Block (3): X = 0
Y = 2
GroupT
– Block: X = 1 Y
= 0
– Block (1): X = 1
Y = 1
– Block (2): X = 0
Y = 1
– Block (3): X = 2
Y = 1
GroupS
– Block: X = 0 Y
= 0
– Block (1): X = 1
Y = 0
– Block (2): X = 1
Y = 1
– Block (3): X = 2
Y = 1
GroupZ
– Block: X = 0 Y
= 0
– Block (1): X = 1
Y = 0
– Block (2): X = 0
Y = 1
– Block (3): X = -1
Y = 1
Vậy là chúng ta
đã tạo xong các khối hình. Mỗi khối hình là một prefab.
1.3 Xem và đọc thêm
[1] Về Unity: https://vi.wikipedia.org/wiki/Unity_(ph%E1%BA%A7n_m%E1%BB%81m_l%C3%A0m_game)
[2] Unity: https://en.wikipedia.org/wiki/Unity_(game_engine)
[3] https://noobtuts.com/unity/2d-tetris-game
[4] https://www.youtube.com/watch?v=89it3LA6RvI&list=PLBIVlCN8diTBOSFTedMDZ5tndeVdvRSsq&index=4
1.4 Bài tập và thực hành
Bài tập 1. Viết lại các đoạn mã trong phần lý thuyết.
1.5 Câu hỏi ôn tập
Câu 1. Phát biểu nào về Unity không đúng?
A. Unity là một phần mềm làm game (game engine) đa nền tảng
B. Sử dụng ngôn ngữ lập trình JavaScript
C. Hỗ trợ làm game 2D, 3D
D. Unity có thể tạo ra game chạy trên máy tính, thiết bị di
động, trình duyệt, console, thực tế ảo
Câu 2. The __________ is a hierarchical text representation
of every GameObject in the Scene. Each item in the Scene has an entry in the
hierarchy, so the two windows are inherently linked. The hierarchy reveals the
structure of how GameObjects attach to each other.
A. Scene view
B. Inspector window
C. Project window
D. Hierarchy window
Câu 3. The ________allows you to view and edit all the
properties of the currently selected GameObject
A. Inspector window
B. Project window
C. Hierarchy window
D. Game view
Câu 4. ______ là một GameObject hoàn chỉnh sau khi thêm các
thuộc tính và được lưu trữ để tái sử dụng. Các GameObject được nhân bản từ một ____
sẽ giống nhau hoàn toàn. Để tạo ra một ______, chỉ cần kéo một GameObject từ cửa
sổ Hierarchy vào cửa sổ Project.
A. Scene
B. Prefab
C. Character
D. Asset
Câu 5. Trong quá trình thiết kế khối hình (Group) cho game
Tetris, bạn thiết lập các tọa độ cho các ô vuông tương ứng là: Block: X = 1 Y =
0; Block (1): X = 1 Y = 1; Block (2): X = 0 Y = 1; Block (3): X = 2 Y = 1. Kết
quả sẽ tạo ra khối hình gì?
A. GroupO
B. GroupL
C. GroupT
D. GroupI
Đáp án: 1(B), 2(D), 3(A), 4(B), 5(C)
-----
Cập nhật: 19/3/2023
Bài sau: Học làm game (5) - Lập trình với Unity