2009-11-25 28 views
8

Đây là điều tôi đang cố gắng tìm ra các đối tượng hiển thị liên quan trong ActionScript3/Flex. Giả sử bạn có đối tượng hiển thị là điểm đăng ký ở trên cùng bên trái và bạn muốn chia tỷ lệ từ trung tâm (giữa đối tượng hiển thị), Làm thế nào bạn có thể dễ dàng đạt được điều này với flash.geom.Matrix lớpAS3 sử dụng ma trận để "mở rộng" đối tượng từ "trung tâm"

Cảm ơn sự giúp đỡ của bạn

Trả lời

8

Điều này được thực hiện bằng cách dịch đối tượng đến trung tâm mong muốn của quy mô/xoay, chia tỷ lệ/xoay và sau đó dịch lại.

Bạn có thể làm điều đó với một ma trận đơn bằng cách kết hợp các ma trận để có được một ma trận duy nhất:

var m:Matrix = new Matrix(); 
m.translate(-centerX, -centerY); 
m.scale(scaleX, scaleY); 
m.translate(centerX, centerY); 
+0

Cảm ơn Aaron, nhiều apreciated –

+0

translate() và quy mô() không phải là phương pháp tĩnh. Bạn cần phải gọi chúng từ một trường hợp Matrix. – picardo

+0

Và bằng cách này, giá trị trả về trên cả hai phương thức đó đều bị vô hiệu. – picardo

Các vấn đề liên quan