Tôi có một nhiệm vụ ở trường, nơi tôi phải vẽ một bản đồ 2D từ một trong những trò chơi zelda đầu tiên, cùng với một số họa tiết hoạt hình. Bây giờ tôi có các họa tiết để làm việc, tôi gặp khó khăn khi vẽ bản đồ. Đây là những gì nó sẽ giống:
Đây là Bộ xếp hình mà chúng ta phải sử dụng để vẽ bản đồ (mỗi ô có kích thước 32x32 pixel):
Chúng tôi làm việc trong một công cụ trò chơi tùy chỉnh mà giáo viên của chúng tôi đã làm cho chúng tôi.
Để vẽ một bitmap, chúng tôi sử dụng lệnh này: GAME_ENGINE.DrawBitmap ([Tên], x.cord (trên khung vẽ), y.cord (trên khung vẽ), x.cord (trên Gạch), y.cord (trên Gạch lát), số lượng pixel bạn muốn cắt ra khỏi Gạch (Độ rộng), lượng pixel bạn muốn cắt ra khỏi Gạch (Chiều cao).
Nếu tôi sử dụng lệnh này, tôi sẽ vẽ gạch cầu thang (trên cùng bên trái) trên khung vẽ: GAME_ENGINE.DrawBitmap ([Tên], 200, 200, 0, 0, 32, 32);
Vì vậy, tôi phát hiện ra rằng với một vòng lặp lồng nhau, bạn có thể vẽ bản đồ 2D trên khung vẽ, đây là mã tôi đã sử dụng cho điều đó:
for (int y = 0; y < 10; y++)
{
for (int x = 0; x < 16; x++)
{
GAME_ENGINE.DrawBitmap(Link_Level, 128 + (x * 32), 0 + (y * 32), 0, 0, 32, 32);
}
}
Nhưng rõ ràng sau đó nó vẽ một bản đồ 16 x 10 chỉ gồm một ô.
Câu hỏi của tôi là: Làm thế nào tôi có thể sử dụng tương tự cho vòng lặp nhưng bằng cách nào đó cho nó biết gạch nào sẽ vẽ trên vị trí chính xác?
Bất kỳ trợ giúp sẽ được đánh giá cao!