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.
|
|
|