Làm thế nào để bạn xử lý gạch không đồng đều trong khi hiển thị bản đồ gạch?


13

nhập mô tả hình ảnh ở đây

Đây là những gì tôi muốn làm với bản đồ gạch của tôi mà tôi không chắc chắn. Như bạn có thể thấy các bức tường phía trên lớn hơn nhiều so với các bức tường phía dưới và bên (đây cũng là một vấn đề với các góc của tôi có hình dạng kỳ lạ [giống như hình chữ L sau đó là hình vuông] cũng như lớn hơn 40x40px mà các ô hiện tại của tôi ).

nhập mô tả hình ảnh ở đây

Tôi cũng đã đính kèm tấm gạch tôi đang sử dụng cho gạch để cho bạn thấy các góc và ngọn trông như thế nào so với phần còn lại của gạch.

Điều tôi nghĩ là tôi có thể vẽ chúng bằng cách sử dụng cùng một mảng mà tôi có nếu tôi sử dụng chiều rộng và chiều cao của gạch thay vì một WxH đã đặt? Tôi không biết điều này sẽ hoạt động tốt như thế nào, nhưng các khối sẽ có các giá trị khác nhau sẽ là các khối mà người chơi / NPC không thể bước vào thì đó có thể không phải là vấn đề, một lần nữa tôi thậm chí không chắc đó có khả thi hay không giải pháp.

Mã của tôi trong trường hợp bạn muốn xem cách tôi hiện đang xử lý nó: Map.java (pastebin) (chỉnh sửa: tôi không xử lý nó, có nghĩa là tôi hiện đang làm bản đồ như thế nào)

tl; dr - làm cách nào tôi có thể lấy bản đồ ô tìm kiếm 2d của mình và thay đổi nó để có các ô kích thước khác nhau? hoặc có cách nào tốt hơn để làm những gì tôi đang cố gắng làm? Có một tên của một phương pháp mà tôi nên tìm kiếm trong khi googling?

Câu trả lời:


19

Có hai cách tiêu chuẩn để làm điều này.

  • Chia kích thước gạch không chuẩn của bạn thành kích thước gạch tiêu chuẩn. Vì vậy, những dải tường đó trở thành một "chồng" gạch vuông mà bạn chỉ cần biết để đặt cùng nhau trong trình chỉnh sửa cấp độ của mình. Các trò chơi như các game Final Fantasy đầu tiên hoạt động theo cách này.
  • Hãy để bất kỳ mảnh gạch nào cao hơn chiều cao gạch tiêu chuẩn của bạn. Căn chỉnh gạch xuống dưới cùng của hình chữ nhật gạch của bạn, cho phép bất kỳ bổ sung để vẽ cao hơn chiều cao gạch thông thường. Khi vẽ bản đồ của bạn, bạn vẽ các ô bắt đầu từ phía sau (các ô vuông cao hơn trên màn hình) và kết thúc bằng các ô dưới cùng (các ô ở dưới cùng của màn hình). Điều này đảm bảo rằng các ô xếp cao ở nền trước được phủ chính xác lên trên các ô ở nền. Lưu ý rằng trong phương pháp này, gạch của bạn vẫn bị giới hạn ở một lát duy nhất về chiều rộng.

Bạn có thể làm một trong hai hoặc cả hai cách tiếp cận này. Ngay cả các trò chơi theo cách tiếp cận "chia thành các ô xếp" thường sẽ cho phép một số đối tượng (cây, v.v.) phá vỡ giới hạn chiều cao của ô và chỉ cần thực hiện theo thứ tự vẽ bản đồ từ trên xuống dưới để đảm bảo mọi lớp chính xác


2
+1 cho cách tiếp cận thứ hai. Về cơ bản điều đó chuyển bạn từ bản đồ ô vuông sang các đối tượng trên bản đồ.
Kromster nói hỗ trợ Monica

Hoàn hảo cảm ơn bạn rất nhiều, tôi nghĩ rằng nó có thể là một cái gì đó tương tự như tùy chọn thứ hai, nhưng tôi muốn chắc chắn rằng tôi đang làm nó theo cách tiêu chuẩn. = D
Độ trễ

2

Lát và xúc xắc gạch có kích thước kỳ lạ của bạn để phù hợp với kích thước tiêu chuẩn. Điểm chung của bản đồ ô vuông là bạn có được rất nhiều tốc độ và tiện ích bằng cách cùng kích cỡ mọi thứ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.