Bài viết này sẽ thêm chức năng tạo ra các điểm hồi sinh cho các quái vật mob, quái vật sẽ được hồi sinh một cách ngẫu nhiên tại các điểm hồi sinh. Bài này khá dài nên mình sẽ chia ra làm nhiều phần.
Ở bài viết Project RPG BÀI 4. Xác định mục tiêu, chúng ta đã tạo ra script Targetting để chọn đối tượng trong phạm vi của nhân vật bằng phím Tab và thay đổi mục tiêu qua lại giữa các đối tượng. Ở bài viết này, chúng ta sẽ tạo ra một script mới dựa theo script Targetting nhưng có thêm phần hiển thị tên mục tiêu cùng thanh máu thay vì chỉ thay đổi màu sắc như ở bài trước.
Ở bài viết đầu tiên, chúng ta đã tạo thanh máu cho nhân vật bằng GUI Box, bây giờ, chúng ta sẽ sử dụng GUI Texture để hiển thị thanh máu với sự hỗ trợ của C# Messenger Extended đã tạo ở bài 12.
Khi nhân vật được khởi tạo hoặc chết trong game, sau một khoảng thời gian nhân vật đó sẽ được hồi sinh và được đưa đến điểm nhất định hay còn gọi là "về làng", điểm đó được gọi là điểm hồi sinh (spawn point).
Đã xong giai đoạn lưu trữ thông tin nhân vật khởi tạo ban đầu, bây giờ là xuất thông tin đó ra dưới dạng câu lệnh thông báo trong hộp thoại Console của Unity (Debug.Log). :)
Chúng ta sẽ tiếp tục công việc sau khi đã khởi tạo và thiết lập các thông số phù hợp nhân vật cho người chơi. Bước tiếp theo sẽ là lưu trữ thông tin của nhân vật mà người dùng đã thiết lập lại. Công việc lưu trữ này sẽ được thực hiện thông qua bằng Prefab (Kho chứa Game Object hoặc component có thể dùng lại nhiều lần) của Unity.
Bài viết này mình sẽ hướng dẫn các bạn cách tùy biến giao diện của menu Khởi Tạo Nhân Vật đã tạo ở bài viết trước với thư viện GUI trong Unity 3D. Giao diện đồ họa trong game có thể nói là phần khá quan trọng trong khâu lập trình game.
Ở bài viết trước mình đã cung cấp file code về các thông số vật lý của nhân vật để làm dữ liệu cho việc khởi tạo các tính chất vật lý của nhân vật. Bài viết này mình sẽ sử dụng các cơ sở dữ liệu ở bài viết trước để tạo nên menu khởi tạo các thông số cho nhân vật.
Để tạo được các thuộc tính vật lý hay các thông số vật lý cho nhân vật,
các bạn phải khai báo các thuộc tính này thành các class khác nhau, bài
viết này chủ yếu khởi tạo các thuộc tính cơ bản của người chơi như Tốc
độ, Trí tuệ, Sức mạnh,... tất cả đều code bằng C# và chưa thể sử dụng
được liền mà phải đợi sử dụng ở Bài 6. Khởi Tạo Nhân Vật.
Để tạo được các thuộc tính vật lý hay các thông số vật lý cho nhân vật, các bạn phải khai báo các thuộc tính này thành các class khác nhau, bài viết này chủ yếu khởi tạo các thuộc tính cơ bản của người chơi như Tốc độ, Trí tuệ, Sức mạnh,... tất cả đều code bằng C# và chưa thể sử dụng được liền mà phải đợi sử dụng ở các bài viết sau.
Tiếp tục cho phần tạo chức năng chiến đấu cho nhân vật, bài viết này mình sẽ hướng dẫn cách để tạo ra mục tiêu cho người chơi tấn công, nếu mục tiêu không được chọn thì sẽ không thể tấn công và ngược lại.
Ở 2 bài viết trước mình đã thực hiện xong các tính năng thanh máu (Hp) và chức năng đuổi theo người chơi của Enemy (Enemy AI). Bài viết này mình sẽ tạo tính năng chiến đấu cận chiến cho người chơi và enemy. Người chơi có thể tấn công enemy và khiến Hp của enemy giảm dần nếu khoảng cách tấn công đủ gần hay đúng góc độ để khiến enemy bị trúng đòn. Thời gian ra đòn người chơi / enemy có thể nhanh hoặc chậm tùy thuộc vào thời gian cooldown (hồi chiêu) của bản thân. Khi thời gian cooldown chưa kết thúc thì không được tấn công. Tương tự với khoảng cách tấn công cũng vậy, người chơi phải đứng ở vị trí đủ gần để có thể đánh trúng enemy. Bài viết này mình sẽ tạo những chức năng như đã nêu ở trên.
Bài viết này sẽ giúp các bạn tạo tính năng cho Evil Cube (đã tạo ở Bài 1) có thể rượt theo player. Một tính năng cơ bản trong thuật toán tìm đường (path finding).