Nếu không chắc chắn cách tiến hành, Bạn có 3 phương pháp để thực hiện:
- Giữ cố định kích thước bản đồ và tạo các bản đồ có cùng kích thước, chỉ cần thao tác điều hướng
- Sử dụng gạch và tạo bản đồ tải cảnh mỗi lần, (sử dụng mẫu để truy cập nhanh hơn)
- NHẬN một bản đồ lớn đầy đủ
Bây giờ tôi chưa thực hiện phương pháp 3, nhưng có vẻ như nỗ lực đầu tiên rõ ràng để làm điều đó, và nó có thể kết thúc nếu cuối cùng bạn quyết định giới hạn thế giới lớn của bạn thành mảng và int size = 32;
ĐỐI VỚI PHƯƠNG PHÁP II,
bạn phải triển khai mã mảng 2d đơn giản, thiết kế một số ô (như ví dụ của bạn từ pokemon, chứa sa mạc, nước, cỏ và môi trường xung quanh kiểu thành phố) và tải nó từ tham chiếu con trỏ được lưu trữ của bạn
function starter(args:Event)
{
thumb.startDrag(false, new Tile(track.x, thumb.y, track.width, 0));
}
function stopper(args:Event)
{
thumb.stopDrag();
}
function mover(args:Event)
{this.Tile={Tile.water[0],Tile.water[1],Tile.grass[3]};}//each as in constructor
void(int * point){//img here}
Đối với phương pháp tôi
Bạn sẽ cần một chút công việc ở đây và tạo mẫu cho từng thiết kế ô và sửa chúng ... như nói mảng được sửa cho 100 ô [10X10] hoặc theo kích thước cửa sổ trò chơi của bạn Và theo câu hỏi bạn muốn chúng phải liền mạch để tải mảng
a [10] [10] và [10-20] [10-20], cùng với việc thêm kho lưu trữ mảng tạm thời cho một nửa danh sách đó là
b [10-15] [10-15] = a [10-20] [10-20]:
Và thực hiện chức năng Loại máy ảnh tập trung vào nhân vật của bạn, để bản đồ di chuyển cùng với nhân vật và bạn di chuyển liên tục
Hy vọng điều này trả lời câu hỏi của bạn...
giới thiệu
http://pygame.org/project-pyMap+-+2D+Tile+Mapping-2769-.html
http://students.4j.lane.edu/~bortega23/ArcuzGuide.html
phần bản đồ trong trò chơi arcuz, bạn có thể thực hiện thu nhỏ và tạo phóng to hơn nữa cho cùng một dữ liệu như trong trò chơi này
hướng dẫn thống nhất 3d cho điểm trò chơi lightource & xem camera