Lời Mở Đầu
Chúc mừng năm mới! Chúc bạn đọc một năm RỒNG đầy thành công và người độc thân sớm tìm được một nửa của mình. Trong không khí tươi vui đầu xuân, hôm nay chúng ta sẽ cùng bắt tay vào học cách làm game với Unity, cụ thể là tự tạo trò chơi Flappy X - phiên bản khác biệt của tựa game kinh điển Flappy Bird nổi tiếng năm 2013.
Để khởi đầu, dưới đây là demo kết quả mà mình đã hoàn thành: Xem demo tại đây (hy vọng sẽ là động lực cho các bạn).
Chúng ta sẽ tập trung chủ yếu vào gameplay của trò chơi này.
Nội Dung
1. Chuẩn Bị Tài Nguyên
Trước tiên, bạn cần chuẩn bị một số hình ảnh cho các đối tượng trong game (gọi chung là textures):
- Background (hình nền)
- Mặt đất
- Chướng ngại vật (ống nước)
- Nhân vật X (chim)
Có hai cách để chuẩn bị textures:
- Tự thiết kế: Sử dụng phần mềm thiết kế để tạo ra texture riêng, đảm bảo cá tính và bản quyền.
- Sử dụng tài nguyên có sẵn: Tải về tài nguyên thiết kế miễn phí từ internet. Vài trang web cung cấp tài nguyên bạn có thể tham khảo:
Mình sẽ chọn cách 2, sử dụng các tài nguyên từ game Flappy Bird, có thể tải tại đây: Tải tài nguyên Flappy Bird.
2. Thực Hiện Các Bước Tạo Game
2.1. Tạo Đối Tượng
Tạo Animation: Kéo những bức ảnh chim đã chuẩn bị vào Scene của Unity để tạo animation đơn giản cho hoạt động vỗ cánh của chim.
Tạo Hiệu Ứng Vật Lý: Thêm component RigidBody 2D cho đối tượng chim và điều chỉnh gravity scale cho phù hợp, giúp chim rơi xuống một cách tự nhiên.
Tạo Script Cho Đối Tượng: Ta cần viết một script đơn giản quản lý động tác nhảy của chim. Dưới đây là ví dụ mã code cho script bird.cs
:
csharp
using UnityEngine;
using UnityEngine.SceneManagement;
public class bird : MonoBehaviour
{
Rigidbody2D rg;
public GameObject gameOverObj;
public float speed;
private void Start() {
rg = GetComponent<Rigidbody2D>();
}
private void Update() {
if(Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)) {
rg.AddForce(Vector2.up * speed);
}
}
void GameOver() {
Time.timeScale = 0;
gameOverObj.SetActive(true);
}
private void OnCollisionEnter2D(Collision2D collision) {
GameOver();
}
public void playAgain() {
SceneManager.LoadScene(0);
}
}
2.2. Thêm Mặt Đất
Kéo thả hình ảnh mặt đất vào trong Scene và thêm component Box Collider 2D để quản lý va chạm.
2.3. Thêm Chướng Ngại Vật (Đường Ống)
Thêm ống nước vào Scene và điều chỉnh kích thước theo yêu cầu, không quên thêm collider để xử lý va chạm.
2.4. Thêm Background
Tạo một đối tượng Canvas và kéo hình nền vào đó để tự động điều chỉnh theo tỉ lệ màn hình.
2.5. Tạo Màn Hình Game Over
Tạo UI Panel để hiển thị thông báo Game Over và nút Retry, thêm function cho button để thử lại trò chơi khi thua.
2.6. Tính Điểm
Tạo Canvas mới để hiển thị điểm và thực hiện logic cộng điểm khi chim bay qua khoảng trống giữa các ống nước.
3. Kết Luận
Sản phẩm này chỉ nhằm mục đích học tập và vẫn còn có thể cải thiện. Cảm ơn bạn đã dành thời gian đọc bài viết này. Chúc bạn thành công trong việc phát triển game và có một năm mới tốt đẹp!
4. Tài Liệu Tham Khảo
- Unity Tutorials
- Unity Asset Store
- Google
source: viblo