Trong ActionScript 3 (và IIRC 2), thuộc tính x và y trên đối tượng hiển thị luôn được lưu trữ dưới dạng bội số của 0,05.Độ chính xác thuộc tính AS3 x và y
nên cái gì như obj.x = 66.6666
cũng giống như obj.x = 66.65
Hầu hết thời gian, điều này không thành vấn đề. Nhưng đôi khi tôi có thể kết thúc với các đối tượng chuyển động chậm, ví dụ: 1 pixel mỗi giây. 1/60 (khung hình/giây) = 0,017 pixel trên mỗi khung hình. obj.x += 0.017
sẽ không bao giờ thực sự thay đổi giá trị x, vì nó được làm tròn đến 0,05 gần nhất.
Điều này buộc tôi ghi đè các thuộc tính x & y của DisplayObject sao cho chúng không được làm tròn.
Tôi có thể hiểu các tọa độ làm tròn với giá trị tích phân gần nhất để hiển thị. Với trình kết xuất nâng cao hơn, tôi thậm chí có thể hiểu được làm tròn cho một số phần nhỏ thể hiện trong nhị phân (ví dụ 0,25). Nhưng 0,05 không thể được đại diện chính xác trong nhị phân.
Vậy tại sao những người sáng tạo của Flash lại quyết định làm tròn gần nhất .05? Nó có vẻ giống như một số tùy ý đối với tôi.
ok, nhưng câu hỏi của tôi là nhiều hơn về quảng cáo thuận lợi của việc sử dụng bội số của .05 là. – Ponkadoodle
Theo thông số định dạng tệp SWF, "Twips là sự thỏa hiệp tốt giữa kích thước và độ chính xác. Chúng cung cấp độ chính xác pixel phụ để thu phóng và sắp xếp chính xác đối tượng, trong khi tiêu thụ rất ít bit trên mỗi tọa độ". –
Câu trả lời này không phải là những gì bạn đang tìm kiếm? –