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
.