El ile yönlendirme

AIR 2.6 ve üstü

Sahne Alanı'nın setOrientation() veya setAspectRatio() yöntemlerini kullanarak sahne alanının yönlendirmesini kontrol edebilirsiniz.

Sahne alanının yönlendirmesini ayarlama

Stage nesnesinin setOrientation() yöntemini kullanarak çalışma zamanında sahne alanı yönlendirmesini ayarlayabilirsiniz. İstenilen yönlendirmeyi belirtmek için StageOrientation sınıfı tarafından tanımlanan dize sabitlerini kullanın:

this.stage.setOrientation( StageOrientation.ROTATED_RIGHT );
Olası her yönlendirmeyi tüm aygıtlar veya işletim sistemleri desteklemez. Örneğin, Android 2.2 standardı dikey olan aygıtlarda programlama yoluyla sola döndürülmüş yönlendirmeyi seçmeyi desteklemez ve baş aşağı yönlendirmeyi hiçbir şekilde desteklemez. Sahne alanının supportedOrientations özelliği, setOrientation() yöntemine iletilebilecek yönlendirme listesi sağlar:
var orientations:Vector.<String> = this.stage.supportedOrientations; 
for each( var orientation:String in orientations ) 
{ 
    trace( orientation ); 
}

Sahne alanının en boy oranını ayarlama

Öncelikli olarak sahne alanının en boy oranıyla ilgileniyorsanız, en boy oranını dikey veya yatay olarak ayarlayabilirsiniz. Sahne Alanı'nın setAspectRatio() yöntemini kullanarak en boy oranını AIR uygulama tanımlayıcısında veya çalışma zamanında ayarlayabilirsiniz:

this.stage.setAspectRatio( StageAspectRatio.LANDSCAPE );

Çalışma zamanı belirtilen en boy oranı için olası iki yönlendirmeden birini seçer. Bu geçerli aygıt yönlendirmesiyle eşleşmeyebilir. Örneğin, ters yönlendirmeye tercihen varsayılan yönlendirme seçilir (AIR 3.2 veya öncesi) ve zıt yönlendirmeye tercihen kaydırmalı klavye için uygun olan yönlendirme seçilir.

(AIR 3.3 ve üstü) AIR 3.3'ten itibaren (SWF sürümü 16), StageAspectRatio.ANY sabitini de kullanabilirsiniz. Stage.autoOrients , true olarak ayarlandıysa ve setAspectRatio(StageAspectRatio.ANY) öğesini çağırırsanız, uygulamanız tüm yönlendirmeleri (yatay-sol, yatay-sağ, dikey ve dikey-ters) yeniden yönlendirme özelliğine sahip olur. Ayrıca AIR 3.3'teki bir başka yenilik en boy oranının kalıcı olması ve cihazın diğer döndürme işlemlerinin belirtilen yönlendirmeyle sınırlı olmasıdır.

Örnek: Aygıt yönlendirmesiyle eşleştirmek için sahne alanı yönlendirmesini ayarlama

Aşağıdaki örnekte, sahne alanı yönlendirmesini geçerli aygıt yönlendirmesiyle eşleştirmek için güncelleyen bir işlev gösterilmektedir. Sahne alanının deviceOrientation özelliği, otomatik yönlendirme kapatılmış olsa bile aygıtın fiziksel yönlendirmesini gösterir.

function refreshOrientation( theStage:Stage ):void 
{ 
    switch ( theStage.deviceOrientation ) 
    { 
        case StageOrientation.DEFAULT: 
            theStage.setOrientation( StageOrientation.DEFAULT ); 
            break; 
        case StageOrientation.ROTATED_RIGHT: 
            theStage.setOrientation( StageOrientation.ROTATED_LEFT ); 
            break; 
        case StageOrientation.ROTATED_LEFT: 
            theStage.setOrientation( StageOrientation.ROTATED_RIGHT ); 
            break; 
        case StageOrientation.UPSIDE_DOWN: 
            theStage.setOrientation( StageOrientation.UPSIDE_DOWN ); 
            break; 
        default: 
            //No change              
    } 
}

Yönlendirme değişimi senkronize değildir. Değişikliğin tamamlandığını algılamak için sahne alanı tarafından gönderilen orientationChange olayını dinleyebilirsiniz. Yönlendirme bir aygıtta desteklenmiyorsa, setOrientation() çağrısı hata göndermeden başarısız olur.