Tôi đang làm việc trên một trò chơi đẳng động cho các trình duyệt nhanh hỗ trợ <canvas>
, rất thú vị. Để lưu thông tin của mỗi gạch, tôi sử dụng một mảng hai chiều trong đó có số đại diện cho ID ngói, như:Cách hiệu quả nhất để lưu dữ liệu lát của trò chơi isometric
var level = [[1, 1, 1, 2, 1, 0],
[0, 1, 1, 2, 0, 1],
[0, 1, 1, 2, 1, 1]];
var tiles = [
{name: 'grass', color: 'green'},
{name: 'water', color: 'blue'},
{name: 'forest', color: 'ForestGreen'}
];
Cho đến nay nó hoạt động tốt, nhưng bây giờ tôi muốn làm việc với chiều cao và dốc như trong ảnh này : alt text http://harmen.no-ip.org/isometrictiles.png
Đối với mỗi ô, tôi cần phải lưu ID, chiều cao và thông tin về các góc của nó được bật lên.
tôi đã đưa ra một ý tưởng đơn giản về một đại diện Bitwise của tất cả bốn góc, như thế này:
1011 // top, bottom and left corner turned up
Câu hỏi của tôi là: cách hiệu quả nhất để tiết kiệm ba giá trị này cho mỗi tế bào là gì? Có thể lưu ba giá trị này dưới dạng một số nguyên không?
+1 cho hình ảnh :) – cletus
+1 Câu hỏi hay. Quan tâm đến trò chơi là tốt. –
+1 không chỉ cho hình ảnh mà là sự rõ ràng tổng thể của câu hỏi. Thật tuyệt khi thấy ai đó dành thời gian để hỏi kỹ. – Ricket