Vous devrez combiner la méthode setOrientation()
mentionne par Barış Uşaklı avec un peu plus logique, je crains. Comme je l'ai mentionné dans mon commentaire à lui, StageOrientation.DEFAULT
se réfère à l'orientation par défaut de l'appareil, mais vous ne savez pas si c'est paysage ou portrait.
Heureusement, il existe un moyen simple de comprendre cela. Vous voyez simplement si l'appareil est dans l'orientation par défaut/à l'envers et vérifiez par rapport à la largeur/hauteur.
var defaultPositionIsLandscape:Boolean = false;
if (stage.orientation == StageOrientation.DEFAULT || stage.orientation == StageOrientation.UPSIDE_DOWN) {
defaultPositionIsLandscape = stage.stageWidth > stage.stageHeight;
}
else {
defaultPositionIsLandscape = stage.stageWidth < stage.stageHeight;
}
if (isTablet) {
if (defaultPositionIsLandscape) {
stage.setOrientation(StageOrientation.DEFAULT);
}
else {
stage.setOrientation(StageOrientation.ROTATED_LEFT);
}
}
La logique est un peu désordonné et vous pourriez probablement le nettoyer un peu, mais qui est l'essence générale de ce qui doit arriver. Personnellement, je ferais de la partie supérieure un getter statique en lecture seule dans votre classe DeviceCapabilities pour faciliter l'accès. Vous aurez également besoin de l'agrandir pour éviter de tourner si elle est dans StageOrientation.UPSIDE_DOWN
(puisque c'est techniquement l'orientation correcte que vous voulez, juste à l'envers)
Cela ne les aidera pas. 'StageOrientation.DEFAULT' est lié à la valeur par défaut de l'appareil. généralement bien pour les téléphones, puisque presque tous les téléphones devraient être portrait par défaut, certaines tablettes sont en réalité paysage par défaut (le Asus Transformer Prime en est un, je crois) –
'stage.deviceOrientation' pourrait aider? –
Non,' deviceOrientation' (et 'orientation') semblent rapporter exactement la même information et s'appuyer sur les mêmes constantes StageOrientation.Vous avez toujours besoin de la logique supplémentaire de ma réponse pour déterminer si le défaut est paysage ou portrait –