Flex 3 görüntüleme nesnesindeki bir kayıt noktasını değiştirmenin/ayarlamanın en iyi yolu nedir? Bunun gerçekten kolayca değişmesi için yapılmadığını biliyorum, ancak bunu başarmak için UIComponent'i nasıl uzatabileceğime dair herhangi bir önerisi var mı?Esnek: Görüntüleme nesnesindeki yeniden kaydetme noktasının ayarlanması
cevap
Bir Canvas
kapsayıcısına, clipContent
özniteliği false olarak ayarlanmış şekilde yerleştirin. Tuvalin içinde, nesneyi istediğiniz yere koyabilirsiniz.
Herhangi bir nedenden dolayı, Flash Player API'si DisplayObjects
kayıt noktasını göstermez (ve Flash IDE bir nesne oluşturulduğunda değişiklik yapmak için acı çeker). David'in belirttiği gibi en iyi çözüm, bileşeninizi başka bir bileşenin çocuğu olarak eklemektir (UIComponent
iyi olurdu). Yani, örneğin, bir Button
vardı ve kayıt noktasını kendi merkezinde istediysem, UIComponent
(Canvas
değil) bir alt öğe olarak ekler ve konumunu (-button.width/2, -button.height/2)
olarak ayarlayarak çocuğu dengeleyebilirim.
DisplayObject öğenizi bir hareketli grafiğe yerleştirin ve DisplayObject öğesinin x & konumlarını hedef kayıt noktanızın negatif olmasına ayarlayın. Tüm dönüşümleri Sprite kabına uygulayın.
Birçok görüntüleme nesnesi için bunu yapıyorsanız, Canvas biraz büyük bir ek yük ekler. Adobe'nin Flex ekibi üyeleri, bir Flex uygulamasında kapsayıcı sayısını en aza indirmeyi önerir. – joshtynjala