首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash CS6中基于屏幕方向(横向或纵向)的导航

Flash CS6中基于屏幕方向(横向或纵向)的导航
EN

Stack Overflow用户
提问于 2013-03-28 21:32:50
回答 2查看 305关注 0票数 1

我正在创建一个应用程序,将有一个不同的菜单,如果手机持有横向,或肖像。

我想当手机从横向移动到纵向或从纵向移动到横向时,我必须告诉flash移动到一个新的帧,但我不确定在创建方向事件侦听器后的确切代码。

EN

回答 2

Stack Overflow用户

发布于 2013-03-29 00:29:14

有两种方法。侦听StageOrientationEvent或侦听Event.RESIZE。我个人更喜欢使用RESIZE,因为它被调用的频率稍高一些,并且使你的界面保持同步。

代码语言:javascript
复制
var landscapeNav:Sprite; // this would be your landscape nav. Obviously does not have to be a Sprite
var portraitNav:Sprite; // same as landscapeNav, but this represents your portrait nav
stage.addEventListener( Event.RESIZE, this.stageResizeHandler );

function stageResizeHandler( e:Event ):void {
    if ( stage ) { //just to make sure the stage is loaded in this class so we avoid null refs
        if ( stage.stageWidth >= stage.stageHeight ) {
            landscapeNav.visible = true;
            portraitNav.visible = false;
        }
        else {
            landscapeNav.visible = false;
            portraitNav.visible = true;
        }
    }
}

这绝对可以清理掉(landscapeNav.visible = stage.stageWidth > stage.stageHeight),但这应该会给你一些东西继续下去。如果你想要像Atriace建议的那样做一个动画,你可以在函数的条件中调用TweenLite/Max,而不是将visible设置为true/false (不过,在动画完成后,为了进行同样的优化,你应该将visible设置为false )。

票数 1
EN

Stack Overflow用户

发布于 2013-03-29 00:21:13

你不需要创建一个新的框架。事实上,看着旧的菜单滑出,而新的菜单在里面进行动画(如with TweenLite),可能会更具视觉吸引力。

有关方向更改的文档可以在@Adobe的ActionScript APIs specific to mobile AIR applications: "Screen Orientation"the API中找到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15683270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档