Hỗ Trợ Xproject Game Maker 1
Để nạp lại Hbar (thanh máu) mỗi khi bạn khởi động lại phòng trong GameMaker, bạn có thể làm theo các bước sau:
Tạo một biến để lưu trữ giá trị sức khỏe tối đa. Hãy gọi biến này là
maxHealth
.Tạo một biến để lưu trữ giá trị sức khỏe hiện tại. Hãy gọi biến này là
currentHealth
.Đặt
currentHealth
bằngmaxHealth
khi bắt đầu trò chơi hoặc khi phòng được tạo.Hiển thị thanh sức khỏe trên màn hình bằng cách sử dụng
currentHealth
để xác định độ dài của thanh.Khi người chơi bị sát thương hoặc mất máu, hãy giảm
currentHealth
tương ứng.Khi người chơi tăng sức khỏe (ví dụ: sau khi khởi động lại phòng), hãy đặt lại
currentHealth
bằngmaxHealth
.Đây là một số mã ví dụ thể hiện các bước:
Đây là một số mã ví dụ thể hiện các bước:
Trong Tạo sự kiện của đối tượng trình phát (hoặc bất cứ nơi nào bạn khởi tạo biến):
gml// Step 1: Set the maximum health value maxHealth = 100; // Step 2: Set the current health to be equal to the maximum health at the beginning currentHealth = maxHealth;
Trong Sự kiện rút thăm của đối tượng người chơi (hoặc bất cứ nơi nào bạn vẽ thanh sức khỏe):
gml// Draw the health bar draw_rectangle(x, y - 10, x + currentHealth, y - 5, c_lime); draw_rectangle(x + currentHealth, y - 10, x + maxHealth, y - 5, c_red);
Khi người chơi bị sát thương (ví dụ: va chạm với kẻ thù):
- gml
// Step 5: Reduce health when taking damage currentHealth -= damageAmount; // Check if the player is dead (health reaches zero or below) if (currentHealth <= 0) { // Perform actions for the player's death, e.g., game over or respawn // For example, you can restart the room here: room_restart(); }
Khi người chơi tăng sức khỏe (ví dụ: khi khởi động lại phòng):
gml// Step 6: Refill health when restarting the room currentHealth = maxHealth;
Với các bước này, thanh sức khỏe sẽ nạp lại giá trị tối đa mỗi khi bạn khởi động lại phòng. Điều chỉnh các giá trị và mã để phù hợp với các yêu cầu cụ thể của trò chơi của bạn.
- Mình tham khảo giúp thầy cách này con nhé!