GIỚI THIỆU
Trong Tutorial hôm nay chúng ta sẽ tạo một trong những trò chơi hay nhất mọi thời đại:. phát hành vào tháng sáu năm 1984, nó đã trở thành phổ biến do đơn giản, nhưng vẫn rất nghiện trò chơi-chơi của mình.
Tetris nhân bản của chúng tôi sẽ được chỉ là đơn giản, chỉ với khoảng 130 dòng mã và hai tài sản. Trong khi các game có vẻ khá đơn giản, nó vẫn còn đi kèm với một vài thách thức và sẽ là một bài tập tuyệt vời cho người mới bắt đầu.
Như thường lệ, tất cả mọi thứ sẽ được giải thích dễ dàng như có thể để mọi người có thể hiểu được nó.
Yêu cầu
Kiến thức
Hướng dẫn tôi không yêu cầu bất kỳ kỹ năng đặc biệt. Nếu bạn biết cơ bản Unity về GameObjects ,Prefabs và Transforms. đừng lo lắng về nó quá nhiều.
Unity Version
Tetris Tutorial chúng tôi sẽ sử dụng Unity 4.6. Các phiên bản mới hơn nếu làm việc tốt là tốt, các phiên bản cũ hơn có thể hoặc không thể làm việc. Điều quan trọng là phài lớn hơn 4.3 vì chỉ lớn hơn mới hổ trợ 2d
Không cần bất kỳ tác dụng nâng cao, do các phiên bản miễn phí của Unity sẽ làm làm tốt.
Thiết lập dự án
tải bộ asset (tài nguyên để làm game ).
Được rồi, chúng ta hãy làm một trò chơi xếp hình huyền thoại nào. Mình sẽ tạo ra một dự án mới Unity và sau đó lưu nó như bất kỳ thư mục ở máy mình D: ...\ Tetris và chọn 2D và Create tao.
chọn vào main camera chỉnh background sang màu đen (cho giống mình hihi) hoặc màu nào bạn thích.. Bạn nên chọn các thông số postion(vị trí tọa đó trong không gian Oxy), Rotation (xoay), và Scale theo như mình .
Chú ý trong phần Projection chọn chế độ Orthographic (chế độ góc nhìn đi song song).
Tạo Art game
Các hình ảnh sẻ được tạo từ các ô vuông đơn. ghép các ô ta được hình ảnh mong muốn.
Như đã thấy trong các hình ảnh trên, mình sẽ giữ phong cách nghệ thuật đơn giản. Mỗi nhóm có thể được tạo ra với chỉ một loại khối với một, làm tròn chữ nhật
chọn ảnh nhìn vào phần inspector thiết lập các thông số như hình bên dưới.
tiếp theo là hai cạnh viền hai bên của trò chơi.
chỉnh thông số cho nó, củng như ô vuông bạn chỉ cần click chuột vào nó, nhìn qua Inspector điền thông số như hình dưới.
Tạo borders (hai cạnh hai bênh)
các bạn kéo cái hình boder từ asset bỏ vào phần hieyerachy như hình dưới.
Game mình tạo ra sẽ có chiều rộng 10 ô và cao 20 ô, vì vây các ô sẽ luôn nằm ở tọa đô (0,0) đên (9,19).
Vậy hai cái border sẽ nằm ở vị trí x =0 và x= 9, nhưng thế thì nó tuyệt đối quá, các hình có thể chồng lên nhau, nên có trừ hao một chút, mình chọn x=-0.5 và x=9.5
Scale y=40 để hình dài ra, nhấn play để xem
Tạo các nhóm
Đầu tiên bạn tạo một gameobject rổng bằng cách nhấn vào Create->Create Empty
kéo các ô vông thả vào GameObject mới tạo
với tọa độ 4 ô như sau:
x=0,y=0
x=0,y=1
x=1,y=0
x=1,y=1
chú ý: ở đay tọa độ phải được làm tròn, như thế thì khi di chuyển 1 đơn vị sẽ thuận lợi cho việc tính toán tọa đo sau này
Giờ hãy đăt tên(chọn Object nhấn F2) và lưu giữ Object này thành một Prefab.
Giờ hãy đăt tên(chọn Object nhấn F2) và lưu giữ Object này thành một Prefab.
giờ thì có thể xóa Group O ơ phần hierarchy. Nó đã lưu trữ ở asset nên bạn iên tâm.
Tiếp tục tạo các khối hình còn lại (làm tương tự, nhơ là tọa độ là số tròn nhé)
kéo thả hết vào asset đê lưu trữ nhe!
Bước tiếp theo bạn tạo một GameObject trống đặt tên là Spawner. với thông số như trong hình
Nó sẽ năm ở trên cùng có chúc năng tạo ngẫu nhiên các Group (O,L,J,T..) cho game. hãy tao Script để xử lý quá trình nào.(nhìn hình trên có cái button Add Component bạn chọn vào nó->New Script->đặt tên Spawner và cuối cùng là Create and Add)
khởi tạo một mãng các GameObject nó sẽ là các khối trong game.
hàm ạo random một khối spawnNext() và gọi nó trong hàm Start(), để khi vừ mới vào là nó được gọi.
using UnityEngine;
using System.Collections;
public class Spawner : MonoBehaviour {
// Groups
public GameObject[] groups;
void Start () {
spawnNext ();
}
public void spawnNext() {
//vị trí Random
int i = Random.Range(0, groups.Length);
//random cái Group thứ i, tại vitri Postion và quay mặc đinh identity.
Instantiate(groups[i], transform.position, Quaternion.identity);
}
}
using System.Collections;
public class Spawner : MonoBehaviour {
// Groups
public GameObject[] groups;
void Start () {
spawnNext ();
}
public void spawnNext() {
//vị trí Random
int i = Random.Range(0, groups.Length);
//random cái Group thứ i, tại vitri Postion và quay mặc đinh identity.
Instantiate(groups[i], transform.position, Quaternion.identity);
}
}
đủ 10 like se viet nữa
ReplyDeletemọi người nhớ like, share hộ mình nhé.
ReplyDeletehay quá đại ca viết tiếp đê
ReplyDeleteok ban, minh se viet tiep khoang 2-3 hom nua se co phan tiep theo
Deletepua nay hoc unity roi ah ghe
DeleteThis comment has been removed by a blog administrator.
ReplyDeletecó thể làm video hướng dẫn không anh!em cảm ơn anh nhiều
ReplyDelete