Cách tạo Hệ thống tăng sức mạnh (Powerup System) trong Unity
· about 1 min readSonic The Hedgehog sẽ ra sao nếu không có nhẫn vàng và giày thể thao quyền lực; Super Mario, không có nấm; hay Pac-Man không có viên năng lượng? Các trò chơi sẽ không thú vị bằng!
Power-up là một thành phần trò chơi quan trọng vì chúng thêm các lớp phức tạp và chiến lược bổ sung để giữ cho hành động di chuyển.
Để triển khai Power-Up, thực hiện theo các bước sau:
- Tạo một GameObject mới để đại diện cho Power-Up của bạn.
- Thêm một Collider component vào GameObject của bạn và bật IsTrigger option.
- Thêm một Rigidbody component vào GameObject của bạn và đặt Gravity Scale thành 0.
- Tạo một script để xử lý chuyển động của Power-Up và các trigger của nó.
Dưới đây là một ví dụ:
using UnityEngine;
public class PowerUp : MonoBehaviour
{
public float speedBoost = 10f;
public float powerUpDuration = 5f;
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
StartCoroutine(Pickup(other));
}
}
IEnumerator Pickup(Collider player)
{
// Apply effect to player
player.GetComponent<PlayerController>().speed += speedBoost;
// Disable the power-up object
GetComponent<MeshRenderer>().enabled = false;
GetComponent<Collider>().enabled = false;
// Wait for powerupDuration
yield return new WaitForSeconds(powerUpDuration);
// Reverse the effect on player
player.GetComponent<PlayerController>().speed -= speedBoost;
// Destroy the power-up object
Destroy(gameObject);
}
}
Tham khảo thêm: kodeco.com
