Görüntüleme nesnelerini yatay ve dikey kaydırma

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Görüntülemek istediğiniz alana sığamayacak kadar büyük olan bir görüntüleme nesneniz varsa, görüntüleme nesnesinin görüntülenebilir alanını tanımlamak için scrollRect özelliğini kullanabilirsiniz. Ayrıca, kullanıcı girdisine yanıt olarak scrollRect özelliğini değiştirerek içeriğin sola ve sağa veya yukarı ve aşağı kaydırılmasını sağlayabilirsiniz.

scrollRect özelliği, bir dikdörtgen alanını tek bir nesne olarak tanımlamak için gerekli değerleri birleştiren bir sınıf niteliğindeki Rectangle sınıfının bir örneğidir. Görüntüleme nesnesinin görüntülenebilir alanını başlangıçta tanımlamak için, yeni bir Rectangle örneği oluşturun ve bunu görüntüleme nesnesinin scrollRect özelliğine atayın. Daha sonra, dikey veya yatay kaydırma için, scrollRect özelliğini ayrı bir Rectangle değişkenine yazar ve istediğiniz özelliği değiştirirsiniz. (Örneğin, yatay kaydırma için Rectangle örneğinin x özelliğini veya dikey kaydırma için y özelliğini değiştirirsiniz.) Bunun ardından, değiştirilen değeri görüntüleme nesnesine bildirmek için Rectangle örneğini scrollRect özelliğine yeniden atarsınız.

Örneğin, aşağıdaki kod, SWF dosyasının sınırları içine sığamayacak kadar uzun olan bigText adında bir TextField nesnesi için görüntülenebilir alanı tanımlar. up ve down adındaki iki düğme tıklatıldığında, bunlar scrollRect Rectangle örneğinin y özelliğini değiştirerek TextField nesnesinin içeriklerinin yukarı veya aşağı kaydırılmasına neden olan işlevleri çağırır.

import flash.events.MouseEvent; 
import flash.geom.Rectangle; 
 
// Define the initial viewable area of the TextField instance: 
// left: 0, top: 0, width: TextField's width, height: 350 pixels. 
bigText.scrollRect = new Rectangle(0, 0, bigText.width, 350); 
 
// Cache the TextField as a bitmap to improve performance. 
bigText.cacheAsBitmap = true; 
 
// called when the "up" button is clicked 
function scrollUp(event:MouseEvent):void 
{ 
    // Get access to the current scroll rectangle. 
    var rect:Rectangle = bigText.scrollRect; 
    // Decrease the y value of the rectangle by 20, effectively  
    // shifting the rectangle down by 20 pixels. 
    rect.y -= 20; 
    // Reassign the rectangle to the TextField to "apply" the change. 
    bigText.scrollRect = rect; 
} 
 
// called when the "down" button is clicked  
function scrollDown(event:MouseEvent):void 
{ 
    // Get access to the current scroll rectangle. 
    var rect:Rectangle = bigText.scrollRect; 
    // Increase the y value of the rectangle by 20, effectively  
    // shifting the rectangle up by 20 pixels. 
    rect.y += 20; 
    // Reassign the rectangle to the TextField to "apply" the change. 
    bigText.scrollRect = rect; 
} 
 
up.addEventListener(MouseEvent.CLICK, scrollUp); 
down.addEventListener(MouseEvent.CLICK, scrollDown);

Bu örnekte de gösterildiği gibi, bir görüntüleme nesnesinin scrollRect özelliğiyle çalıştığınızda, en iyisi cacheAsBitmap özelliğini kullanarak Flash Player veya AIR uygulamasının, görüntüleme nesnesinin içeriğini bitmap olarak önbelleğe alması gerektiğinin belirtilmesidir. Bunu yaptığınızda, Flash Player veya AIR uygulamasının, görüntüleme nesnesi her kaydırıldığında görüntüleme nesnesinin içeriklerinin tamamını yeniden çizmesi gerekmez ve bunun yerine gerekli bölümü doğrudan ekranda oluşturmak için, önbelleğe alınan bitmap'i kullanması yeterli olur. Ayrıntılar için, bkz. Görüntüleme nesnelerini önbelleğe alma .