3

Màu nền
Font chữ
Font size
Chiều cao dòng

Bài 2: Xây dựng các cấu hình cho game

1. Tạo mới project game

2. Cấu hình camera:

- Thuộc tính background dùng để thiết lập màu nền của game.

- Ta có thể thiết lập kích thước của MainCamera cũng như chiều dài và chiều rộng , vị trí ban đầu ...

3. Các thư mục cần thiết:

- Standard Assets: lưu các thư viện v.....v.. Ở game contra là thư viện ddiefu khiển JoyStick. Đừng mất công tự viết ra. Trừ khi game phải gọi đến các thư viện đồ họa Native à có khả năng xảy ra xung đột.

4. Tạo cac object:

Để hiển thị mạng à tạo 1 đối tượng có GUI Text.

b. Đối tượng Popup:

- Popup là 1 cửa số giao diện hiển thị lên để "che chắn" màn hình game ko cho người dùng tương tác.

o Tạo 1 empty objcet

o Add các tp: màu nền, NoButton, YesButton, text v.v...

- Để popup hiển thị lúc người dùng bấm back à thiết lập trong hàm update của game:

o If(Input.keyCode(Escape)) à popup.setActive(true);

- Bài về nhà: Hoàn thành 1 game Scence có các nút điều khiển :

o Chạy qua trái/phải

o Bấm back thì hiện popup.

- è yeu cầu tất cả các game phải có popup hỏi người dùng có muốn quay lại menu ko khi nhấn Back. Trong quá trình popup hiển thị các đối tượng trong game vẫn hiển thị nhưng phải ngừng di chuyển.

c. Tạo bản đồ chơi:

Tạo 1 object chứa cái ảnh của Map .

Để player di chuyển trên map thì phải tạo ra sàn chạy. tạo ra đối tượng mang tên Platform, sau đó tạo các object có boxCollider / EdgeCollider2D trong đó như hộp, chữ nhật nhưng bề dày của nó rất bé, chiều dài là chiều dài con đường.

d. Tạo Player

Đối tượng player sẽ va chạm với rất nhiều đối tượng khác nhau.

è Taọ mỗi đối tượng 1 tag. 1 đối tượng chỉ thuộc 1 tag.

Thay đổi animation của object khi xong 1 animation:

- Ta muốn xong 1 animation thì hệ thóng phải có các xử lý khác ( chạy animation khác, đọc ghi các biến, gọi hàm...) à bắt dc sự kiện animation End.

Thay đổi vị trí vũ khí:

Khôi phục lại vị trí sống của player: player có nhiều mạng, khi chết 1 mạng thì đối tượng đó có thể sống lại. Nếu sống lại ở đúng vị trí nó chết à có thể chết tiếp

Giải pháp an toàn nhất là đặt ra các CheckPoint trong game. Nếu chết ở 1 vị trí thì ghi nhớ vị trí đó , đến lúc sống lại thì kiểm tra xem checkpoint nào gần vị trí chết nhất sẽ khôi phục. Khái niệm gần nhất có thể tùy game. ở game contra thì gần nhất + thêm điều kiện là sau vị trí chết.

Xoay chiều bắn của quân địch: Nếu player chạy qua vị trí quân đích à địch cần phải xoay nòng súng để bắn theo

- Trong hàm Update sẽ điều chỉnh hướng bắn .

Void Update(){

Var target = GameObject.FindObjectWithTag("Player");

Float a = target.transform.position.y- this.transform.position.y;

Float b = target.transform.position.x- this.transform.position.x;

Float h = Mathf.Sqrt(a*a + b*b);

fortDirection.x = b/h; // fortDirection la doi tuong cua Vector 2D.

fortDirection.y = a/h;

weapon.shootDirection= fortDirection; //weapon la cai ban dan.

Float c = Mathf.Atan(a/b)* Mathf.Ran2Deg;

//atan: argTan

//* Mathf.Ran2Deg: doi sang độ.

Transform.rotation=Quaternion.Euler(0,0,c); //quay theo truc z. trục z là đâm thằng, quay lấy trục z làm trục quay.

//chỉ cho quay theo 1 giá trị nhất định, rời rạc thôi. Ko quay chính xác quá à khó chơi.

//quay từng đoạn một.

Ìf(b==0)

Transform.rotation = Quaternion.Euler(0,0,270);

Else if (target.transform.position.x>transform.position.x)

{

Float d = Mathf.Atan(-a/b)*Math.Rad2Deg;

Float e = d-2*(90+d-360);

Transform.rotation = Quaterniom.Euler(0,0,e);

}

}

-

1 số hàm kiểm tra va chạm:

Void OncontrollerCollider2D(Raycasthits hit){}

onTriggerEnterEvent

OnTriggerEnter2D(Collider2D other ){

If(other.tag=="xxx")

.....

}

onTriggerExitEvent

P��


Bạn đang đọc truyện trên: Truyen2U.Pro