Bitmap'leri kaydırma

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

Kullanıcının haritayı her hareket ettirişinde (birkaç piksel hareket etse dahi) görünümü güncellemeniz gereken bir sokak haritası uygulaması oluşturduğunuzu düşünün.

Bu işlevi oluşturmanın bir yolu kullanıcının haritayı her hareket ettirişinde güncellenmiş haritayı içeren yeni bir görüntü oluşturmaktır. Ayrıca, tek bir büyük görüntü oluşturabilir ve scroll() yöntemini kullanabilirsiniz.

scroll() yöntemi ekrandaki bitmap'i kopyalar ve parametreler (x, y) ile belirlenen yeni bir uzak konuma yapıştırır. Bitmap'in bir kısmı sahne alanı dışında kalırsa görüntüye değişme efekti verir. Bir zamanlama işlevi (veya enterFrame olayı) ile birlikte kullanıldığında görüntünün hareket eder veya kayar şekilde görünmesini sağlayabilirsiniz.

Aşağıdaki örnek önceki perlin gürültüsü örneğini alır ve daha büyük bir bitmap görüntüsü oluşturur. (Bu görüntünün dörtte üçü sahne alanı dışında oluşturulur.) Ardından scroll() yöntemi görüntüyü çapraz şekilde aşağıya doğru uzaklaştıran bir enterFrame olay dinleyici ile birlikte uygulanır. Bu yöntem her kare girildiğinde çağrılır ve sonuç olarak görüntü aşağı doğru kaydıkça görüntünün ekran dışında kalan kısımları Sahne Alanında oluşturulur.

import flash.display.Bitmap; 
import flash.display.BitmapData; 
 
var myBitmapDataObject:BitmapData = new BitmapData(1000, 1000, false, 0x00FF0000); 
var seed:Number = Math.floor(Math.random() * 100); 
var channels:uint = BitmapDataChannel.GREEN | BitmapDataChannel.BLUE; 
myBitmapDataObject.perlinNoise(100, 80, 6, seed, false, true, channels, false, null); 
 
var myBitmap:Bitmap = new Bitmap(myBitmapDataObject); 
myBitmap.x = -750; 
myBitmap.y = -750; 
addChild(myBitmap); 
 
addEventListener(Event.ENTER_FRAME, scrollBitmap); 
 
function scrollBitmap(event:Event):void 
{ 
    myBitmapDataObject.scroll(1, 1); 
}